Listeners -> Action sur Container ?
Bonjour à tous,
Au sein d'une classe Exemple, j'ai créé une sous-classe BoutonListener (réalisant ActionListener) sur un JButton "Bouton".
Quand l'utilisateur clique sur ce bouton, la classe BoutonListener est appelée et doit retirer un des composants d'un Container appelé c (attribut de la classe Exemple).
Ca fait quelque chose comme ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
public class Exemple extends JFrame {
private Container c ;
public Exemple() { //le constructeur
....
c = new Container() ;
c = this.getContentPane() ;
c.setLayout(new BorderLayout()) ;
}
public class BoutonListener implements ActionListener {
public void ActionPerformed(ActionEvent e) {
c.remove(0) ;
System.out.println(c.getComponents().length) ; // permet de tester l'application de l'instruction précédente
}
}
} |
Or rien ne se passe quand on clique...
Il ne s'agit pas d'un problème d'affectation de Listener au bouton : on observe bien la décroissance du nombre de composants de c. Seulement, l'écran principal n'est pas mis à jour...
Pourtant, l'instruction c.remove(0) produit bien son effet hors listener (dans le programme principal).
J'imagine qu'on ne puisse pas si facilement le contenu d'un Container... Mais pourquoi ? Et comment contourner le problème ?
Merci d'avance :D