[Java] Probleme de freeze
Nieli
Messages postés
85
Statut
Membre
-
Nieli -
Nieli -
Bonjour,
Voila mon problème,
J'ai une JFrame contenant mon jeu (jeu de go ndlr) avec une JMenuBar je propose le lancement d'un Tchat,
Le principe est que je "try" une connexion à un serveur, si ca génere une IOException, alors avec une JOptionPane, on demande à l'utilisateur si il veut lancer le serveur. (Désolé si cette méthode est dégueulasse).
Le problème est que si je place un main() dans la classe Tchat et que je la lance à part, le serveur.accept() tourne en "background" laissant libre court à toute opération (sur la fenetre de tchat)
Alors que si je lance la fenetre de tchat depuis l'ActionListener de JMenuBar lors du serveur.accept() la fenetre de tchat et la fenetre du Go freeze.
SwingUtilities.invokeLater(new Runnable(){
public void run(){
//On crée une nouvelle instance de notre fenêtre
tchat = new Tchat("127.0.0.1");
}
});
Je voudrais votre avis.
Merci d'avance
Voila mon problème,
J'ai une JFrame contenant mon jeu (jeu de go ndlr) avec une JMenuBar je propose le lancement d'un Tchat,
Le principe est que je "try" une connexion à un serveur, si ca génere une IOException, alors avec une JOptionPane, on demande à l'utilisateur si il veut lancer le serveur. (Désolé si cette méthode est dégueulasse).
Le problème est que si je place un main() dans la classe Tchat et que je la lance à part, le serveur.accept() tourne en "background" laissant libre court à toute opération (sur la fenetre de tchat)
Alors que si je lance la fenetre de tchat depuis l'ActionListener de JMenuBar lors du serveur.accept() la fenetre de tchat et la fenetre du Go freeze.
SwingUtilities.invokeLater(new Runnable(){
public void run(){
//On crée une nouvelle instance de notre fenêtre
tchat = new Tchat("127.0.0.1");
}
});
Je voudrais votre avis.
Merci d'avance
A voir également:
- [Java] Probleme de freeze
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Pc freeze - Guide
- Deep freeze - Télécharger - Sécurité
- Waptrick java voiture - Télécharger - Jeux vidéo
3 réponses
Tu as une classe principale qui lance tes deux instances ? (le go et le chat)
Si Non, je te conseille de faire comme ca.
Si oui, alors tu pourrais mettre en avant plan la fenetre concernée (ici celle du go) avec le déclenchement de la méthode adéquat de cette instance qui ouvre la pop-up de confirmation de connexion.
Qu'en pense tu ?
Si Non, je te conseille de faire comme ca.
Si oui, alors tu pourrais mettre en avant plan la fenetre concernée (ici celle du go) avec le déclenchement de la méthode adéquat de cette instance qui ouvre la pop-up de confirmation de connexion.
Qu'en pense tu ?
D'abord Merci de ta réponse.
Ma classe principale lance seulement la fenetre du Go
public static void main(String[] args){
SwingUtilities.invokeLater(new Runnable(){
public void run(){
//On crée une nouvelle instance de notre fenêtre
FenetreGo fenetre = new FenetreGo();
fenetre.setVisible(true);
}
});
La fenetre de Tchat elle est instanciée par la gestion des evenements
public class Evenement implements ActionListener,MouseListener {
if(source.getText()=="Ouvrir")
{
SwingUtilities.invokeLater(new Runnable(){
public void run(){
//On crée une nouvelle instance de notre fenêtre
tchat = new Tchat("127.0.0.1");
}
});
}
}
Je vais essayer de réfléchir à implanter ta méthode d'autre part, mais je doute que l'utilsateur accepte d'avoir une fenetre de tchat qui freeze :s
Merci d'avance.
Ma classe principale lance seulement la fenetre du Go
public static void main(String[] args){
SwingUtilities.invokeLater(new Runnable(){
public void run(){
//On crée une nouvelle instance de notre fenêtre
FenetreGo fenetre = new FenetreGo();
fenetre.setVisible(true);
}
});
La fenetre de Tchat elle est instanciée par la gestion des evenements
public class Evenement implements ActionListener,MouseListener {
if(source.getText()=="Ouvrir")
{
SwingUtilities.invokeLater(new Runnable(){
public void run(){
//On crée une nouvelle instance de notre fenêtre
tchat = new Tchat("127.0.0.1");
}
});
}
}
Je vais essayer de réfléchir à implanter ta méthode d'autre part, mais je doute que l'utilsateur accepte d'avoir une fenetre de tchat qui freeze :s
Merci d'avance.