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 :

Capter event d'un JComponent fils


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 30
    Par défaut Capter event d'un JComponent fils
    Je souhaiterais capter les événements qui sont provoqués dans des sous composant d'un JPanel.
    J'ai donc un JPanel "racine" qui contient par exemple deux autres JPanel qui contiennent à leurs tour d'autres JComponent. Le problème est que si j'ajoute un listener sur mon JPanel racine, aucun événement ne lui est transmis car ils sont traités par les sous composants.
    Je souhaiterais donc savoir comment arriver à prendre en compte ces événements.

    Pour information le but de cette recherche est de faire un autoscroll dans un JScrollPane (contenant le JPanel racine). Lors d'un drag, j'aimerais me déplacer dans le reste de mon JPanel racine. En ajoutant un MouseMotionListener aux composants fils (les fils directs) et en redefinissant la methode mouseDragged() comme il est expliqué dans la javadoc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public void mouseDragged(MouseEvent e) {
    Rectangle r = new Rectangle(e.getX(), e.getY(), 1, 1);
    ((JPanel)e.getSource()).scrollRectToVisible(r);
    j'arrive a faire défiler mon panel si je drag à partir de ces composants. Le problème est que je n'arrive pas à faire de meme avec les "sous sous composants" (composants indirects).

  2. #2
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Bonjour,

    pour faire ce que tu cherches, le mieux est de passer par un AWTEventListener, qui reçoit tous les évènements d'un type donné. L'autoscroll a déjà été implémenté par plusieurs programmeurs, tu peux en trouver un ici par exemple.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

Discussions similaires

  1. Clavier / Souris Sans Fil problème installation
    Par Harbaingan dans le forum Matériel
    Réponses: 3
    Dernier message: 17/05/2004, 17h11
  2. cmt connecter 2 pc en reseaux sans fil sans point d'acces?
    Par angelz dans le forum Développement
    Réponses: 2
    Dernier message: 11/05/2004, 00h07
  3. Accès à une case d'un DBGrid dans l'event OnKeyDown
    Par fba dans le forum Bases de données
    Réponses: 2
    Dernier message: 02/03/2004, 12h48
  4. capter l'evenement clic sur une cellule d'un string grid
    Par lasconic dans le forum Composants VCL
    Réponses: 3
    Dernier message: 25/06/2003, 10h51
  5. [DOM] suppression d'un noeud fils xml en JAVA
    Par alexandre54 dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 20/03/2003, 09h44

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