import java.io.*; import java.net.*; import java.util.*; import java.awt.*; import javax.swing.*; class JS implements Runnable{ class Kasutajad{//Üks lihtne klass, mis sisaldab kahte andmevälja String kasutaja=new String(); Socket yhendus=new Socket(); } class JutukaL6im extends Thread{ Kasutajad k; public JutukaL6im(Kasutajad uus_k){ k=uus_k; KasList();//uuendatakse kasutajate nimekirja tekstialas start(); } public void run(){ try{ BufferedReader br=new BufferedReader(new InputStreamReader(k.yhendus.getInputStream())); boolean veel=true; /*Aja näitamine*/ Calendar aeg=Calendar.getInstance(); String ajam2rk="["+aeg.get(Calendar.HOUR_OF_DAY)+":"+aeg.get(Calendar.MINUTE)+"] "; /*suurem tekstiala*/ JScrollPane suva=(JScrollPane)content.getComponent(1); JViewport suva0=(JViewport)suva.getComponent(0); JTextArea suva1=(JTextArea)suva0.getComponent(0); //kõigile teatatakse et uus kasutaja sisenes suva1.append(ajam2rk+" Sisenes kasutaja "+k.kasutaja+"\n"); for(int i=0;i> "+s6num+"\n"); for(int i=0;i> "+s6num); } } } k.yhendus.close(); }catch(Exception e){System.out.println("Viga JutukaL6imes: "+e);} kas.remove(k); KasList();//uuendatakse kasutajate nimekirja tekstialas } } /*Globaalsed muutujad*/ JPanel content=new JPanel(new BorderLayout()); Vector kas=new Vector(); public JS(){ //Konstruktor laseb käima selle osa, mis ühendusi hakkab kuulama new Thread(this).start(); } public void run(){//algul on logimine ja siis tekitatakse uus l6im selle kasutajaga edasi tegelemiseks try{ ServerSocket ss=new ServerSocket(22222); while(true){ Kasutajad k=new Kasutajad(); k.yhendus=ss.accept(); PrintWriter pw=new PrintWriter(k.yhendus.getOutputStream(),true); pw.println("Kirjuta oma kasutajanimi siia: "); BufferedReader br=new BufferedReader(new InputStreamReader(k.yhendus.getInputStream())); k.kasutaja=br.readLine(); kas.add(k); new JutukaL6im(k); } }catch(Exception e){System.out.println("Ilmnes viga: "+e);} } public void KasList(){//See funktsioon on hea kasutajate hetkeseisu näitamiseks parempoolsel tekstialal StringBuffer sb=new StringBuffer(); for(int i=0;i