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

Composants Java Discussion :

[Débutant][JLabel] Rafraichir


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 159
    Par défaut [Débutant][JLabel] Rafraichir
    Bonjour,

    J ai fais une application ou j ai besoin a un moment de rafraichir un jlabel afin d afficher l état d avancement d une serie de requete.Le truc c'est que j arrive a changer le titre de ma frame grace a la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    this.setTitle(mavariable);
    contentPane.validate();
    mais si je cree un jlabel et que je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    jlabel.setText(mavariable);
    contentPane.validate();
    Alors la ca ne se rafraichit pas et ca m affiche juste a la fin la derniere valeure qui a était attribuée a la variable, je precise que cette partie de code est extrait d un evenement qd je clique un bouton situé sur une frame

    Si vous avez une idée de ce que ca peut etre Merci

  2. #2
    Membre éprouvé Avatar de Orionmel
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2004
    Messages : 174
    Par défaut
    C'est tout à fait normal que ton JLabel ne se rafraichisse pas si tu fait ta suite d'action dans le code de ta JFrame.

    En effet, tant que ta série de requête aura lieu ton interface graphique ne se mettra pas à jour.

    Pour mettre à jour ton JLabel, lance ta série de requête dans une thread et appele à partir de cette dernière une méthode permettant de mettre à jour ton JLabel. Ca devrait marcher

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 159
    Par défaut
    ah j ai jamais utilisé les threads je suppose que c'est le moment ou jamais je te remercie pour tes precisions

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 159
    Par défaut
    j essaye de voir comment ca marche mais je me prends la tete pour lui passer une variable de l exterieur à la fonction thread j ai fais le faq les questions deja posées dans le forum mais je trouve rien a mon probleme j ai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            Thread monTraitement = new Thread() {
              private String test = "";
              public void run() {
                jTextArea1.setText("Transfert en cours du dossier numero :" +
                                   test);
              }
            };
    cela fonctionne mais j aimerais que "test" soit une variable exterieur mais si j essaye de la passer dans Thread() ou run() j ai des erreurs Ca doit pas etre bien compliqué c'est juste que je suis une bille pour ce genre de truc Merci

  5. #5
    Membre éprouvé Avatar de Orionmel
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2004
    Messages : 174
    Par défaut
    Si je comprend bien tu veut passer une variable en paramètre dans ta thread?

    Il faut que tu réécrive le constructeur de ta thread :

    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
     
    public class Mathread extends Thread
    {
      //Variables
      private String Text
     
      //Constructeur
      public MaThread(String ArgText){this.Text=ArgText;}
     
      //Thread
      public void run()
      {
         //Ton code 
      }
    }
    Tu es obligé de passer par une classe écrite par tes soins. Par défaut une thread n'accepte aucun paramètre.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 159
    Par défaut
    Merci bcp ca m aide vachement j étais resté sur la methode ou on se contente de redefinir le run(); maintenant que je suis sur la bonne voie j espere bien en finir vite fait Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [débutant] JLabel.getText => passage
    Par cyrill.gremaud dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 06/11/2006, 20h53
  2. [Débutant] Bouton rafraichir(explication)
    Par 1tsiMat dans le forum Access
    Réponses: 8
    Dernier message: 31/05/2006, 14h17
  3. débutant : rafraichir l'affichage c++builder
    Par matika dans le forum C++Builder
    Réponses: 3
    Dernier message: 10/03/2006, 12h20
  4. [débutant] [JLabel] Changer la couleur de fond
    Par lejimi dans le forum Composants
    Réponses: 3
    Dernier message: 17/08/2005, 14h20
  5. [Débutant][JLabel] Connaître la taille du texte
    Par Herisson_f dans le forum Composants
    Réponses: 8
    Dernier message: 04/05/2005, 10h53

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