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

Interfaces Graphiques en Java Discussion :

Problème de mise à jour du contenu d'un TextArea


Sujet :

Interfaces Graphiques en Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1
    Points : 3
    Points
    3
    Par défaut Problème de mise à jour du contenu d'un TextArea
    Bonsoir,

    J'ai un projet en cours pour la réalisation d'une application de communication like MSN basé sur les sockets TCP.
    Je souhaite faire afficher le message reçue par le serveur socket dans un TextArea.

    En effet, je souhaite afficher faire afficher le message reçue par le serveur socket dans un TextArea.

    La méthode de réception me semble correct, d'ailleurs si je vérifie l'ajout et le contenue du mon TextArea dans la console, ce dernier est correct. Cependant, et c'est la qu'est mon problème, le coté graphique de l'objet n'évolue pas, le texte à l'intérieur ne change pas et reste celui avec lequel l'objet a été construit ("Message de base de la TextArea TextIn").

    * La classe gérant la réception et l'envoi du message reçu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    > public class Reception extends UI implements Runnable {
    >             [...]   
    >     public void run() {
    >         
    >         while(true){
    >             try {               
    >             message = in.readLine();
    >             System.out.println("[S] @" + login +" : "+message);
    >             TextIn.append("@" + login +" : "+message); // Object TextArea membre de la classe UI
    >             System.out.println("Contenue de TI :" + TextIn.getText());
    >               [...]
    > }
    * Constructeur TextIn dans UI.java :

    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
    > public class UI extends JFrame implements ActionListener {
    > [...]
    >     public TextArea TextIn;
    >     [...]
    >
    >     public UI() {
    >         [...]
    >         TextIn = new TextArea("Message de base de la TextArea TextIn", 10, 50);
    >         TextIn.setBackground(Color.white);
    >         TextIn.setEditable(false);
    >         add(TextIn, BorderLayout.NORTH);
    >         [...]
    >     }
    >
    >     public static void main(String[] args) {
    >         ui = new UI();
    >         ui.setTitle("TSElive");
    >         ui.setSize(600, 600);
    >         ui.setVisible(true);            
    >     }
    > [...]
    * Retour console durant les tests :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    > [S] @Yann : Salut !
    > Contenue de TI :Message de base de la TextArea TextIn@Yann : Salut !
    > [S] @Yann : Bizarre le contenu n'a pas changer..
    > Contenue de TI :Message de base de la TextArea TextIn@Yann : Salut !Bizarre le contenu n'a pas changer..
    Donc le contenu réel évolue bien .. pas celui à l'affichage.. Avez vous une idée de pourquoi ?

    Merci d'avance,

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    A cause de ce qui est expliqué dans l'article suivant.

    http://gfx.developpez.com/tutoriel/j...ing-threading/

    Les Toolkits UI ne sont pas thread safe par définition. Donc on ne peut pas juste faire n'importe quoi quand on utilise des threads en conjonction avec des composants graphiques.

Discussions similaires

  1. [AC-2000] problème de mise à jour d'une requête de contenu d'une liste modifiable
    Par Deverry57 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 30/07/2010, 08h42
  2. [JLabel] Problème de mise à jour du contenu
    Par Traroth2 dans le forum Composants
    Réponses: 9
    Dernier message: 25/06/2008, 11h59
  3. Réponses: 3
    Dernier message: 19/07/2007, 15h46
  4. Problème de mise à jour de base de données
    Par poirier dans le forum ASP
    Réponses: 2
    Dernier message: 26/05/2004, 11h38
  5. problème de mise à jour de BD
    Par tidiane dans le forum Bases de données
    Réponses: 5
    Dernier message: 04/03/2004, 15h32

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