Probleme de jTextPane depuis une classe.

cs_greg505 Messages postés 12 Date d'inscription mercredi 8 mai 2002 Statut Membre Dernière intervention 24 mai 2006 - 1 mai 2006 à 18:14
scaryman Messages postés 492 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 16 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.

Une idée ? MERCI de votre aide.

3 réponses

scaryman Messages postés 492 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 16 mai 2007 12
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.

Voila
A++
0
cs_greg505 Messages postés 12 Date d'inscription mercredi 8 mai 2002 Statut Membre Dernière intervention 24 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 ;)

Si qqu a une pise pour ajouter à la fin... MERCI
0
scaryman Messages postés 492 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 16 mai 2007 12
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);
0
Rejoignez-nous