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

AWT/Swing Java Discussion :

etre averti lors d'une modification utilisateur sur un jPanel


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1
    Par défaut etre averti lors d'une modification utilisateur sur un jPanel
    Bonjour,

    je voudrais recevoir un événement lorsque un des composants d'un jPanel est modifié. y a t-il un moyen simple ? (mon jPanel contient des objects de types différents checkbox, combobox, textfields, tableaux ...)

    merci à tous
    Yann

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Il faudrait créer une classe qui étend JPanel et qui redéfinit la méthode addImpl :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    // Code non-testé !!
     
    class MonPanel extends javax.swing.JPanel implements java.beans.PropertyChangeListener {
      @Override
      protected void addImpl (java.awt.Component comp, Object constraints, int index) {
        super.addImpl(comp, constraints, index);
        comp.addPropertyChangeListener(this);
      }
     
      public void propertyChange (java.beans.PropertyChangeEvent evt) {
        ... // ton code à faire lorsqu'une propriété est modifiée.
            // Renseigne-toi sur la classe PropertyChangeEvent dans la javadoc.
      }
    }
    Là, il te suffira de récupérer la source de l'événement et de faire une action en fonction de la propriété modifiée.
    Si tu ne veux écouter que quelques changements de propriété, il te suffit de remplacer comp.addPropertyChangeListener(this); par comp.addPropertyChangeListener("maPropriété",this);

    Certaines propriétés ne sont pas prises en compte (notamment la taille d'un composant). La liste des propriétés dépend en outre du type d'objet (un bouton n'aura pas de selected, tandis qu'une checkbox oui) ... Enfin, renseigne-toi

    Par contre, pour écouter le changement de contenu de tableau, c'est plus coton. Là, je te conseille d'être plus précis ou de bien te renseigner afin d'utiliser tous les écouteurs comme il le faut.

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/07/2007, 14h17
  2. erreur OLE DB lors d'une modification
    Par flo456 dans le forum ASP
    Réponses: 2
    Dernier message: 24/05/2007, 14h26
  3. Réponses: 20
    Dernier message: 03/04/2007, 16h45
  4. Réponses: 3
    Dernier message: 05/01/2006, 15h14
  5. Réponses: 15
    Dernier message: 01/09/2005, 10h07

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