Modification d'un label JLabel durant le fonctionnement d'un programme

Résolu
WinLin Messages postés 86 Date d'inscription dimanche 13 février 2005 Statut Membre Dernière intervention 3 septembre 2007 - 9 janv. 2007 à 13:49
gmi19oj19 Messages postés 545 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

3 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
9 janv. 2007 à 13:58
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();
3
gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 2
12 janv. 2007 à 10:10
Pas besoin de recréer ton JLabel.

Normalement, un setText suivi d'un repaint() suffit
3
WinLin Messages postés 86 Date d'inscription dimanche 13 février 2005 Statut Membre Dernière intervention 3 septembre 2007
9 janv. 2007 à 16:24
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
0