Modification d'un label JLabel durant le fonctionnement d'un programme [Résolu]

Messages postés
86
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
3 septembre 2007
- - Dernière réponse : gmi19oj19
Messages postés
546
Date d'inscription
lundi 10 mai 2004
Statut
Membre
Dernière intervention
28 septembre 2011
- 12 janv. 2007 à 10:10
Bonjour j'aimerai modifier le label d'un Jlabel mais je ne comprend pas comment le faire durant le fonctionnement du programme

je vous soumet le code je vous remercie d'avance

import

java.awt.BorderLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

public
class fenetre
extends JFrame {

/**
*
Launch
the
application
*
@param
args
*/
public JLabel
label;

public
static
void main(String args[]) {

try {
fenetre frame =
new fenetre();
frame.setVisible(
true);
}
catch (Exception e) {
e.printStackTrace();
}
}

/**
*
Create
the
frame
*/
public fenetre() {

super();
setBounds(100, 100, 500, 375);
setDefaultCloseOperation(JFrame.
EXIT_ON_CLOSE );

final JButton button =
new JButton();
button.addActionListener(
new ActionListener() {

public
void actionPerformed(ActionEvent arg0) {

label.setText(
"Bonjour ");    //<- ici je modifie le label du Jlabel en Bonjour 
                                                   // mais cela ne fonctionne pas.

}
});
button.setText("Bouton D'origine
");
getContentPane().add(button, BorderLayout.
CENTER);
JLabel label =
new JLabel();
label.setText("LABEL d'origine
");
getContentPane().add(label, BorderLayout.
SOUTH);

//
}
}
je vous remercie pour votre aide si vous pouvez me donner un tutoriel a ce sujet ou
un coup de main dans le code ce serait bien sympas.

Merci d'avance
Winlin
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
83
3
Merci
C'est normal, tu créer ton JLabel dans ta procédure sans le stocker ailleurs...
Modifie cette ligne : JLabel label =
new JLabel(); par :

label =
new JLabel();

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 218 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_DARKSIDIOUS
Messages postés
546
Date d'inscription
lundi 10 mai 2004
Statut
Membre
Dernière intervention
28 septembre 2011
2
3
Merci
Pas besoin de recréer ton JLabel.

Normalement, un setText suivi d'un repaint() suffit

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 218 internautes nous ont dit merci ce mois-ci

Commenter la réponse de gmi19oj19
Messages postés
86
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
3 septembre 2007
0
Merci
Tout a bord merci pour ton aide.
poste plus haut ok cela fonctionne
 mais quand je click une seconde fois sur le bouton il ne change pas
pourtant j'ai modifierle code en fonction je pense

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;




public class fenetre extends JFrame {


 
 
 
 JLabel label;
 public static void main(String args[]) {
  try {
   fenetre frame = new fenetre();
   frame.setVisible(true);
  } catch (Exception e) {
   e.printStackTrace();
  }
 }


 
 public fenetre() {
  super();
  setBounds(100, 100, 500, 375);
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


  final JButton button = new JButton();
  button.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent arg0) {
    String valeur="";
    if (label.getText().equals("New JLabel")) {  
    label.setText("Bonjour");
    label = new JLabel();
        
    } else if  (label.getText().equals("Bonjour")) {
     label.setText("Bonjour a vous clicker");
     label = new JLabel();
     }
   }
  });
  button.setText("New JButton");
  getContentPane().add(button, BorderLayout.CENTER);


  label = new JLabel();
  label.setText("New JLabel");
  getContentPane().add(label, BorderLayout.SOUTH);
  //
 }


}

Winlin
Commenter la réponse de WinLin