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

Signaler
Messages postés
86
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
3 septembre 2007
-
Messages postés
545
Date d'inscription
lundi 10 mai 2004
Statut
Membre
Dernière intervention
28 septembre 2011
-
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

3 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
99
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();
Messages postés
545
Date d'inscription
lundi 10 mai 2004
Statut
Membre
Dernière intervention
28 septembre 2011
2
Pas besoin de recréer ton JLabel.

Normalement, un setText suivi d'un repaint() suffit
Messages postés
86
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
3 septembre 2007

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