IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques en Java Discussion :

Listeners -> Action sur Container ?


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 11
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Appeler la méthode revalidate du container après le remove devrait parer à ce problème.

Discussions similaires

  1. [debutant] action sur un bouton
    Par EssaiEncore dans le forum ASP
    Réponses: 22
    Dernier message: 18/02/2005, 14h02
  2. actions sur chaine
    Par ericmart dans le forum ASP
    Réponses: 2
    Dernier message: 22/12/2004, 10h03
  3. [VB.NET] Action sur l'évènement IMPRESSION
    Par stephane93fr dans le forum ASP.NET
    Réponses: 3
    Dernier message: 27/04/2004, 17h03
  4. Pb d'action sur un clip
    Par bencasp dans le forum Flash
    Réponses: 4
    Dernier message: 22/10/2003, 17h11
  5. [Flash MX] Action sur un bouton
    Par WriteLN dans le forum Flash
    Réponses: 9
    Dernier message: 20/10/2003, 14h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo