Bonsoir à tous!

Voilà quelques heures que je bute sur un problème assez énervant:

Je dois créer une fenêtre de connexion pour qu'un serveur attende un hôte. Bien j'ai bien ma JFrame qui me propose diférentes options (pseudo, IP, ...) et puis j'ai 4 boutons:
1 Pour jouer en tant qu'hôte en ayant remplis l'adresse et le port du server distants.
1 Pour Quitter
1 Pour connaitre sa propre adresse IP
1 Pour wait en mode server.

C'est le dernier qui me pose problème.

Je souhaiterais tout d'abord faire apparaitre une fenêtre me marquant: "Wait ..." lorsque je lance jusqu'à ce qu'un client se connecte. pour ensuite la faire disparaitre au moment de jouer. Or j'arrive à la faire apparaitre lors du lancement mais même après connexion du client elle ne disparait pas:

Extrait de ma JFrame du menu correspondant à l'actionPerformed en cas d'appuis sur le bouton wait.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
if (cmd.equals(WAIT))
		{
			Wait waiter;
			pong = new Pong();
			Pong.main(pong);
			while(!pong.isConnecte())
				waiter = new Wait(pong, "Wait...", true);
		}
Ensuite mon constructeur de Wait

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
 
 
public Wait(JFrame parent, String title, boolean modal) 
	{
		//On appelle le construteur de JDialog correspondant
		super(parent, title, modal);
		//On spécifie une taille
		this.setSize(150, 150);
		//La position
		this.setLocationRelativeTo(null);
		//La boîte ne devra pas être redimensionnable
		this.setResizable(false);
		//Enfin on l'affiche
		//this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
		JPanel center = new JPanel();
		JPanel bouton = new JPanel();
		center.setLayout(new BorderLayout());
		bouton.setLayout(new BorderLayout());
		JLabel waiter = new JLabel("Waiting ...",JLabel.CENTER);
		center.add(waiter,BorderLayout.CENTER);
		getContentPane().add(center);
		getContentPane().add(waiter);
		this.add(center, BorderLayout.CENTER);
		this.add(newButton(CANCEL), BorderLayout.SOUTH);
		setVisible(true);
	}
Et pour finir ma méthode connexion à l'intérieur du server pour pouvoir dialoguer avec le 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
 
public void connexion()
	{
		try {
			connect = new Réseaux(2500);
		} catch (SocketException e1) {
			/**
                         * A générer dans une vue d'erreur, cf V-Six
                         */
			e1.printStackTrace();
		} catch (UnknownHostException e) {
 
			System.out.println("Erreur: host inconnue");
		}
		try { 
			 connect.RecieveByServer();
			 setConnecte(true);
		} catch (IOException e2) {
			/**
                         * Cf V-Six
                         */
			System.out.println("erreur reception data");
		}
	}