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

AWT/Swing Java Discussion :

setText() ne fonctionne pas sur un JLabel


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 28
    Par défaut setText() ne fonctionne pas sur un JLabel
    Bonjour à tous !

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
     
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import javax.swing.event.*;
    import java.lang.String;
     
    class PanelStat extends JPanel
    {
    	private JLabel labelAge;
    	private JProgressBar barSante;
    	private JProgressBar barExperience;
    	private JProgressBar barFaim;
    	private JProgressBar barPoids;
    	private JProgressBar barSommeil;
    	private JProgressBar barEnnui;
    	private JProgressBar barSalissure;
     
    	PanelStat()
    	{
    		setLayout(new GridLayout(15,1));
     
    		JLabel labelAge = new JLabel("Age: 0");
    		add(labelAge);
     
    		JLabel labelSante = new JLabel("Santé :");
    		add(labelSante);
    		barSante = new JProgressBar(JProgressBar.HORIZONTAL,0,1000);
    		add(barSante);
     
    		JLabel labelExperience = new JLabel("Experience :");
    		add(labelExperience);
    		barExperience = new JProgressBar(JProgressBar.HORIZONTAL,0,1000);
    		add(barExperience);
     
    		JLabel labelFaim = new JLabel("Faim :");
    		add(labelFaim);
    		barFaim = new JProgressBar(JProgressBar.HORIZONTAL,0,1000);
    		add(barFaim);
     
    		JLabel labelPoids = new JLabel("Poids :");
    		add(labelPoids);
    		barPoids = new JProgressBar(JProgressBar.HORIZONTAL,0,1000);
    		add(barPoids);
     
    		JLabel labelSommeil = new JLabel("Sommeil :");
    		add(labelSommeil);
    		barSommeil = new JProgressBar(JProgressBar.HORIZONTAL,0,1000);
    		add(barSommeil);
     
    		JLabel labelEnnui = new JLabel("Ennui :");
    		add(labelEnnui);
    		barEnnui = new JProgressBar(JProgressBar.HORIZONTAL,0,1000);
    		add(barEnnui);
     
    		JLabel labelSalissure = new JLabel("Salissure :");
    		add(labelSalissure);
    		barSalissure = new JProgressBar(JProgressBar.HORIZONTAL,0,1000);
    		add(barSalissure);
    	}
     
    	public void setLabelAge(int val)
    	{
    		labelAge.setText("Age : "+val);
    	}
     
    	public void setBarSante(int val)
    	{
    		barSante.setValue(val);
    	}
     
    	public void setBarExperience(int val)
    	{
    		barExperience.setValue(val);
    	}
     
    	public void setBarFaim(int val)
    	{
    		barFaim.setValue(val);
    	}
     
    	public void setBarPoids(int val)
    	{
    		barPoids.setValue(val);
    	}
     
    	public void setBarSommeil(int val)
    	{
    		barSommeil.setValue(val);
    	}
     
    	public void setBarEnnui(int val)
    	{
    		barEnnui.setValue(val);
    	}
     
    	public void setBarSalissure(int val)
    	{
    		barSalissure.setValue(val);
    	}
     
    	public void miseAjourBarre(Individu tama)
    	{
    		setBarSommeil(tama.getSommeil());
    		setBarFaim(tama.getFaim());
    		setBarEnnui(tama.getEnnui());
    		setBarPoids(tama.getPoids());
    		setBarSante(tama.getSante());
    		setBarSalissure(tama.getSalete());
    		setLabelAge(tama.getAge());
    	}
    }
    Je met à jour une variable Age (toutes les secondes). Je souhaite afficher ce changement d'age à l'écran en changeant le JLabel age. Malheureusement il semblerait que la méthode setText() ne fonctionne pas, Savez-vous pourquoi ?

    Merci ! @Bientôt !

  2. #2
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Là tu ne nous dis pas comment tout ça est utilisé ....
    Une petite question en plus : problème d'invocation ou problème de refresh ou mauvaise exécution ?
    Pour savoir si problème d'invocation un System.out.println avant le setText pour vérifier qu'il est appelé.
    Pour savoir si problème de refresh par exemple changer la taille de la fenêtre pour forcer un repaint global.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 28
    Par défaut
    ca fait planter le prog donc je pense que c pas un pb de repaint.. je pense que ca vient vraiment du setText car si à la place je met un Systeme.out.println() tout fonctionne bien.

  4. #4
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Ca fait planter le programme ?? Tu n'aurais pas une exception par hasard ?

  5. #5
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    C'est tout simplement certainement une NullPointerException car tu n'initialises jamais la variable d'instance labelAge, mais tu crée une nouvelle variable locale labelAge, dont l'autre n'est pas initialisé, tu ne peut donc pas l'employer.

    Tu devrais lire un cours sur le Java.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 28
    Par défaut
    C'est bien ce type d'erreur.. merci à tous !
    Ca devait vous paraitre évident mais moi a force de rester coller le nez dessus je ne la voyais pas lol !
    Bonne journée !

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

Discussions similaires

  1. Requete qui ne fonctionne pas sur toutes les versions de MySQL
    Par goldorax113 dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/06/2006, 11h04
  2. Réponses: 4
    Dernier message: 03/04/2006, 08h50
  3. Réponses: 7
    Dernier message: 10/02/2006, 18h00
  4. TXMLDocument, ne fonctionne pas sur tous les PC
    Par Neilos dans le forum C++Builder
    Réponses: 4
    Dernier message: 05/10/2005, 22h33
  5. Code qui ne fonctionne pas sur Mac
    Par malbaladejo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/01/2005, 11h08

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