import java.io.*; import java.net.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ClientSimple extends JFrame { public static final int portServeur = 6789; Socket socketClient; PrintWriter out; TextField clavier; TextArea console; Button Envoi, Stop; Panel Boutons; ClientSimple(String NomHote) { Font oldFont=getFont(); Font font=new Font("TimesRoman", Font.ITALIC, 9); setTitle("Client"); //Construction de l’interface graphique clavier=new TextField(50); console=new TextArea("",10,50,TextArea.SCROLLBARS_BOTH); console.setEditable(false); console.setBackground(Color.gray); this.setLayout(new BorderLayout()); Panel pConsole=new Panel(); Panel pClavier=new Panel(); this.add("North", pConsole); this.add("Center", pClavier); pConsole.setLayout(new BorderLayout()); pConsole.add("North", new Label(" Console ")); pConsole.add("Center", console); pClavier.setLayout(new BorderLayout()); pClavier.add("North", new Label(" Saisie : ")); pClavier.add("Center", clavier); Panel pBoutons=new Panel(); pBoutons.setLayout(new BorderLayout(5,0)); this.add("South", pBoutons); Boutons=new Panel(); pBoutons.add("North", Boutons); Panel copyR=new Panel(); copyR.setFont(font); copyR.add("North", new Label("Julien BEDOURET")); pBoutons.add("South", copyR); Envoi=new Button("Envoyer"); Stop=new Button("Quitter"); Boutons.add(Envoi); Boutons.add(Stop); Envoi.addActionListener(new toSend()); Stop.addActionListener(new toExit()); clavier.addActionListener(new toSend()); this.pack(); this.show(); try { System.out.print("Ouverture du socket client "); socketClient = new Socket(NomHote, portServeur); System.out.println("[OK]"); //socket de l’output stream out = new PrintWriter(socketClient.getOutputStream(),true); //Informe l’utilisateur de la connexion System.out.println("Connecté à " + socketClient.getInetAddress().getHostName()); System.out.println("[OK]"); } catch (IOException error) { System.out.println(error.toString()); System.exit(0); } // Lancement du processus écouteur new ClientConnectionTalk(socketClient, console); } public static void usage() { System.out.println("Usage: java ClientSimple "); System.exit(0); } public static void main(String[] args) { if (args.length != 1) usage(); Frame f=new ClientSimple(args[0]); } class toSend implements ActionListener { public void actionPerformed(ActionEvent e) { if ((e.getSource()==clavier) || (e.getSource()==Envoi)) { out.println(clavier.getText()); clavier.setText(""); //clear } } } class toExit implements ActionListener { public void actionPerformed(ActionEvent e) { if (e.getSource()==Stop) { out.println("#Q#U#I#T#"); System.exit(0); } } } } //end ClientSimple Class