Actualiser un tableau de JLabel.
Bonjour à tous,
Je voudrais savoir comment faire pour pouvoir actualiser un tableau contenant des JLabel. Voici mon code:
Code:
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
|
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class test2 {
public static void main(String[] args){
final JLabel[] lbl = new JLabel[5];
final JButton btn = new JButton("++");
final JPanel conteneur = new JPanel();
final JPanel pan = new JPanel();
JFrame fen = new JFrame();
final JLabel txt = new JLabel("Test");
fen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fen.setLocationRelativeTo(null);
fen.setSize(100, 100);
fen.setVisible(true);
pan.setLayout(new GridLayout());
for(JLabel l:lbl){
l = new JLabel("0");
pan.add(l);
}
btn.addActionListener(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
for (int i = 0; i< lbl.length; i++)
{
lbl[i] = new JLabel();
lbl[i].setText("1");
System.out.print(lbl[i].getText());
}
txt.setText("test2");
}
});
conteneur.add(txt);
conteneur.add(pan);
conteneur.add(btn);
fen.setContentPane(conteneur);
}
} |
"setText" permet normalement d'actualiser un JLabel (cela marche très bien sur la variable "txt") mais elle n'a aucun effet sur les JLabel du tabelau.
J'ai essayé plusieurs chose:
- "removeAll" et "revalidate"
- "updateUI"
- "repaint"
- ...
aucune de ces méthodes n'a fonctionnées (ou je les ai mal utilisées).
Merci de votre aide.