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
Dernière intervention
3 septembre 2007
- - Dernière réponse : gmi19oj19
Messages postés
546
Date d'inscription
lundi 10 mai 2004
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 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
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();

Merci cs_DARKSIDIOUS 3

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

Codes Sources a aidé 98 internautes ce mois-ci

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

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

Merci gmi19oj19 3

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

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de gmi19oj19
Messages postés
86
Date d'inscription
dimanche 13 février 2005
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.