IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Agents de placement/Fenêtres Java Discussion :

JDialog, Socket & Cie


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 41
    Par défaut JDialog, Socket & Cie
    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");
    		}
    	}

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Décembre 2009
    Messages : 67
    Par défaut
    ba utilise un JWindows c mieux que JFrame pour ta fenetre d'attente et quand le jeux commence esseye avec TaFrame.dispose() pareil si tu utilise un JWindows

  3. #3
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 41
    Par défaut
    Donc tu me dit si j'ai bien compris d'utiliser une JWindows a la place de ma JFrame qui est ma fenêtre principale? Quels en seraient les avantages?

Discussions similaires

  1. executer une application a distance : Sockets ? RPC ? CORBA?
    Par a_hic dans le forum Développement
    Réponses: 5
    Dernier message: 30/05/2006, 13h02
  2. socket
    Par ben91 dans le forum Développement
    Réponses: 5
    Dernier message: 13/08/2002, 11h04
  3. Socket:Envoyer du texte d'un serveur vers tout les clients
    Par cedm78 dans le forum Web & réseau
    Réponses: 7
    Dernier message: 01/08/2002, 16h40
  4. transfert d'un fichier bitmap en socket tcp
    Par localhost dans le forum C++Builder
    Réponses: 5
    Dernier message: 29/07/2002, 00h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo