[Swing] Question sur GUI, affichage et rafraichissement

Question sur GUI, affichage et rafraichissement [Swing] - Java - Programmation

Marsh Posté le 16-04-2003 à 13:29:37    

Bonjour
 
alors j'ai codé un petit client ftp. j'ai une classe qui contient mon interface graphique et plusieurs autres qui s'occupent des fonctionnalités du client.
 
je me demande comment faire afficher du texte dans une JTextArea de la GUI à partir des classes qui s'occupent des fonctionnalité du client?
 
enfin je voudrais savoir ce qui doit etre fait en fait, pour avoir un code propre
 
Merci d'avance

Reply

Marsh Posté le 16-04-2003 à 13:29:37   

Reply

Marsh Posté le 16-04-2003 à 13:52:14    

Passe la reference de la JTextArea dans le constructeur des classes qui s'occupent des fonctionnalités et stocke cette reference dans un coin.
 
Si c'est pour faire une sorte de log à l'ecran, on peut faire plus propre en mettant l'objet qui contient la JTextArea comme listener des classes fonctionnelles.


---------------
Light is right
Reply

Marsh Posté le 16-04-2003 à 19:59:30    

oui c'est pour faire des logs dans la JTextArea!
 
mais comment comment le faire devenir listener des classes fonctionnelles?

Reply

Marsh Posté le 17-04-2003 à 10:46:41    

Exemple: tu cree une interface

Code :
  1. interface TreatmentLogListener {
  2.   public void addLog(String message);
  3. }


Tu fais implementer cette interface a ta classe qui contient le JTextArea. Dans la methode addLog, tu lui fait ajouter le texte:

Code :
  1. public void addLog(String message) {
  2.   jTextArea.setText(message);
  3. }


Ensuite, tu modifie les constructeurs des classes fontionnelles pour qu'elles prennent en parametre un TreatmentLogListener et tu stocke cette reference dans une variable membre (par exemple logListener).
Lors de l'appel du constructeur de ces classes, tu passes bien evidemment l'objet qui contient le JTextArea.
Et pour finir, lorsque que tu veut ajouter un texte dans le log, il suffit d'appeler  

Code :
  1. logListener.addLog("Coucou" );


 
Voila, j'espere que j'ai été clair  :)


---------------
Light is right
Reply

Marsh Posté le 20-04-2003 à 21:58:37    

oué tu as été tres clair, ca marche!
 
en fait je crois ke je viens de comprendre a quoi servait les interfaces grace a toi!!!
 
merci beaucoup car c'est rare d'avoir une reponse comme celle ek tu as faite.
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed