bonsoir,
Je realise un tchat d'une importance certaine pour moi,
et il se trouve que je suis bloquer:
Je n'arrive pas à retranscrire le texte inscrit dans mon JTextField dans la JTextArea, il me semblait pourtant avoir inscrit les commandes nécessaires.
je copie les codes de ma partie Client et de ma partie Serveur si quelqu'un pourrait m'aider se serait tres gentil

Client:

ClientChat mon main coté Client:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import java.net.*;
import java.io.*;
 
public class ClientChat {  
      private static Fenetre f;
      private static PrintStream netOut; 
      private final static String hote = "localhost";
      public static void main(String[] args) throws IOException {
            BufferedReader clavier;      
            String ligne;                 
            Socket s;                  
            BufferedReader netIn;        
 
            f = new Fenetre();
		    f.setLocationRelativeTo(null);
	        f.setSize(400,400);
            s = new Socket( hote, 60000);
 
            netIn = new BufferedReader( new InputStreamReader(s.getInputStream()));
            netOut = new PrintStream( s.getOutputStream());
            clavier = new BufferedReader( new InputStreamReader( System.in));
            while( true ) {              
                  ligne = clavier.readLine();   
                  netOut.println( ligne );     
                  ligne = netIn.readLine();     
                  System.out.println( ligne ); 
                  if(ligne.startsWith("MESS")){
                	  ligne = ligne.substring (5);
                	  f.ajouter(ligne);
                  }
                  else {
                	  System.out.println("mauvais protocole: " + ligne);  
                  }
            }
      }
      public static void envoyer(){
    	  netOut.println("MESS"+ f.Message());	  
    	  }
      }
Une classe Chat extends JPanel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import java.awt.* ;
import javax.swing.*;
 
public class Chat extends JPanel {
	private JPanel pa;
	private static JTextArea ta;
	private static JTextField tf;
	public Chat()  {
 
		BorderLayout bl ; 
		bl = new BorderLayout ();
		this.setLayout (bl) ;
		pa = new JPanel () ;
		this.add(pa, BorderLayout.CENTER);
 
		ta= new JTextArea (20,30);
		pa.add(ta);
		JScrollPane jpta;
		jpta = new JScrollPane();
		ta.add(jpta);
 
		JPanel pa2;
		pa2 = new JPanel();
		this.add(pa2, BorderLayout.SOUTH);
 
		JLabel lab;
		lab = new JLabel("Ecrire:");
		pa2.add(lab);
		tf = new JTextField (12);
		pa2.add(tf);
		JButton bt;
		bt = new JButton("Envoyer");
		pa2.add(bt);
		Ecouteur ec2;				
		ec2 = new Ecouteur (2, null);
		bt.addActionListener(ec2);
 
		pa2.setBackground(Color.PINK);
	    pa.setBackground(Color.PINK);
		this.setVisible (true); 
        }
	public  String Message(){
		return tf.getText();
}
	public void ajouter(String ligne) {		
		ta.append(ligne);	
	}
}
La classe Fenetre contenant le Tchat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import java.awt.* ;
import java.awt.event.ActionListener;
import java.awt.event.ItemListener;
 
import javax.swing.*;
import javax.swing.event.ListSelectionListener;
 
public class Fenetre extends JFrame {
	private static Chat ch;
	private ImageIcon imgi;
	public Fenetre() {
 
	BorderLayout bl ;
	bl = new BorderLayout () ;	
	this.setLayout (bl) ;
	ch = new Chat();
	this.add(ch,BorderLayout.CENTER);
 
	JLabel titre;
	titre = new JLabel("VOUS CHERCHEZ UN CHAT ?");
	JPanel paim;
	paim = new JPanel();
	paim.add(titre);
 
	imgi= new ImageIcon("gif-anime-chat-8-gratuit.gif");
	JLabel labim;
	labim =new JLabel();
	labim.setIcon(imgi);
	paim.add(labim);
	this.add(paim,BorderLayout.NORTH);
	JLabel vide;
	vide = new JLabel();
	paim.add(vide);
 
	JPanel pa;
	pa= new JPanel();
	this.add(pa,BorderLayout.SOUTH);
	JButton bt;
	bt = new JButton ("exit_logo.png");
 
	pa.add(bt);
	Ecouteur ec1;
	ec1 = new Ecouteur( 1, null );	
	bt.addActionListener( ec1 );
	pa.setBackground(Color.PINK);
	paim.setBackground(Color.PINK);
 
	this.pack();		  
	this.setVisible (true); 
 
	}
	public String Message () {
		return ch.Message();
}
 	public void ajouter(String ligne){		
		ch.ajouter(ligne);
}
}
Et une petite classe Ecouteur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import java.awt.* ;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.*;
 
 
public class Ecouteur implements ActionListener{	  
	private int code ;																
 
	public Ecouteur ( int n, Fenetre f  ) {
		code = n ;													
	}
	public void actionPerformed(ActionEvent e) {    
 
		switch(code){							
		case 1:
			System.exit(0);
			break;
		case 2 :
			ClientChat.envoyer();
			break;
		}
	}
 }
Maintenant coté Serveur:

Le main ServeurChat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.net.*;
import java.io.*;
 
public class ServeurChat {
    private static Salon sal; 
	private final static int port = 60000;
      public static void main(String[] args)throws IOException {
            String ligne;     
            ServerSocket ss;  
            Socket s ;     
            Connexion con;
            BufferedReader netIn;  
            PrintStream netOut;   
            try{
            	ss =new ServerSocket( port );      
            	System.out.println( "serveur pret et ecoute sur le port: "+ port  );
            	while(true){
 
            		s = ss.accept();            
            		System.out.println( "un client vient de se connecter" );
            		con = new Connexion ( s,sal);
            		sal.add(con);
            		con.start();
            	}
            }catch(IOException e){
            	System.out.println("probleme serveur");
            }
}    
}
Une classe Connexion:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.net.*;
import java.io.*;
 
public class Connexion extends Thread{
	private BufferedReader netIn;
	private PrintStream netOut;
	private Salon sal;
 
	public Connexion (Socket s, Salon sal){
	try{
		netIn = new BufferedReader( new InputStreamReader(s.getInputStream()));
		netOut = new PrintStream ( s.getOutputStream());
		this.sal = sal;
 
	}catch(IOException e){
			System.out.println("erreur connexion client vers serveur");
		}
}
	public void run(){
		String mess = null;
		if (mess.startsWith("MESS")){
			mess = mess.substring (5);
			sal.ecrireTous("MESS" + mess);
		}
	}
public void ecrire (String mess){
	netOut.println(mess);
}
}
Et enfin une classe Salon:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
import java.net.*;
import java.util.Vector;
import java.io.*;
 
public class Salon extends Vector<Connexion>{
	public void ecrireTous ( String mess){
		Connexion con;
		for( int i = 0; i < this.size(); ++i){
			con = this.elementAt (i);
			con.ecrire( mess);
		}
	}
}
Je precise que je n'ai pas de messages d'erreur

Si une âme charitable se dévoue et lie mon code pour un m'aider je l'en remercie.