cs_greg505
Messages postés12Date d'inscriptionmercredi 8 mai 2002StatutMembreDernière intervention24 mai 2006
-
1 mai 2006 à 18:14
scaryman
Messages postés492Date d'inscriptionvendredi 30 janvier 2004StatutMembreDernière intervention16 mai 2007
-
2 mai 2006 à 09:43
Bonsoir;
Je suis en train de programmer un Chat en JAVA et je bloque sur un problème qui est surement tres bete.
Je possède 2 classe : w_main et connexion.
w_main : Contient la fenetre principale avec un jtextpane.
connexion : recupere les message du serveur et doit les envoyer dans le jtextpane.
Le probleme est que je n'arrive pas a envoyer du texte dans mon jtextpane depuis la classe connexion.
Methodes d'ajout d'un message dans w_main :
public void ajouter_message(String texte){
liste_messages.setText(liste_messages.getText()+"\n"+texte);
javax.swing.JOptionPane.showMessageDialog(null,texte);
}
dans la classe connexion, je procède de la sorte :
w_main princ = new w_main();
message = lecture.readLine();
princ.ajouter_message(message);
Mais rien ne s'affiche. alors que le message contient bien quelque chose (testé).
La methode fonctionne elle aussi car quand je l'appel depuis sa classe (w_main) ca fonctionne.
scaryman
Messages postés492Date d'inscriptionvendredi 30 janvier 2004StatutMembreDernière intervention16 mai 200712 1 mai 2006 à 20:13
Salut
Es-tu sûr que princ est la seule instance de w_main ?
Pourquoi utilises-tu setText dans ton JTextPane ? Il faudrait plutot ajouter à la suite de ce qui avait été écrit précédemment.
Et pourquoi montrer le message dans un JOptionPane ?
Si tu n'y arrives toujours pas, montre nous plus de code.
cs_greg505
Messages postés12Date d'inscriptionmercredi 8 mai 2002StatutMembreDernière intervention24 mai 2006 2 mai 2006 à 00:05
Alors, je JOptionPane c'etait juste pour voir si le message était bien recu... C'est un truc de test...
Pour le coup du princ, effectivement c'est pas la seule instance de w_main. Je passe donc en parametre l'instance "en cours" de w_main au constructeur de Connexion. Et je la re-utilises, ca roule now.
Le setText, je l'ai utilisé car j'ai pas trouvé comment inserer à la fin. Dans les TextArea, il y a append mais pas dans un JTextPane. Je conserve le JTextPane car je vais mettre en forme mon texte. Voila voila ;)
scaryman
Messages postés492Date d'inscriptionvendredi 30 janvier 2004StatutMembreDernière intervention16 mai 200712 2 mai 2006 à 09:43
Pour ajouter à la suite :
DefaultStyledDocument docpane = (DefaultStyledDocument)jtextpane.getDocument();
Style normal = textpane.addStyle("normal", textpane.getLogicalStyle());
docpane.insertString(textpane.getDocument().getLength(), tonTexte, normal);