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

Composants Java Discussion :

placer un listener sur un node


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Par défaut placer un listener sur un node
    Bonjour,

    Je me demandais s'il était possible de placer des MouseListener directement sur les nœuds de mon JTree au lieu de placer un TreeSelectionListener sur le JTree tout entier.

    Il n'existe peut être de manière simple de le faire, mais s'il existe un chemin détourné, ça me va aussi, la seule chose qui m'importe vraiment c'est de pouvoir définir le comportement des noeuds eux mêmes lors de leur création.



    EDIT :

    J'ai remarqué que je pouvais contourner mon problème en donnant au constructeur de mon DefaultMutableTreeNode un objet.

    Comme ca je peux définir la méthode que je veux dans cet objet et ensuite quand je clic sur un node, je lance un appel sur la méthode onClick() de l'objet de ce node

    Par contre, je me demande s'il n'y a pas moyen de faire en sorte que cela se fasse automatiquement.

    Par exemple, quand je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(myObject);
    Lors de la construction de l'arbre, on a automatiquement recours à la méthode toString de myObject pour l'afficher dans l'arbre.

    Alors je me demande s'il n'est pas possible de créer des méthodes dans MyObect avec les noms adéquats pour qu'elles soient automatiquement appelées quand je clic, double clic, expand ou collappse un node.

    Alors une idée?

    Merci beaucoup.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 136
    Par défaut
    Bonjour,

    Alors je me demande s'il n'est pas possible de créer des méthodes dans MyObect avec les noms adéquats pour qu'elles soient automatiquement appelées quand je clic, double clic, expand ou collappse un node.
    .
    Vu qu'un jtree est basé sur des renderers, je dirais non, ce n'est pas possible.

    Et tu ne pourras pas non plus ajouter de mouseListener sur un object.
    Tu vas être obligé d'ajouter le mouseListener sur ton JTree et ensuite de calculer la position de l'objet "clické". (Tu as des méthodes dans le jtree qui facilite la récupération de l'objet "clické".)

    Cdlt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Listener sur JTable
    Par calypso dans le forum Composants
    Réponses: 3
    Dernier message: 05/02/2009, 16h27
  2. OEM 9.2 pas de listener découvert sur le node
    Par ducho dans le forum Entreprise Manager
    Réponses: 2
    Dernier message: 14/05/2007, 10h16
  3. [LISTENER] sur l'insertion de cd
    Par divxdede dans le forum Multimédia
    Réponses: 2
    Dernier message: 03/07/2004, 11h28
  4. [JSlider] listener sur Jslider
    Par Garion dans le forum Composants
    Réponses: 4
    Dernier message: 31/05/2004, 13h33
  5. Listener sur un JPanel
    Par ptitelfe dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 27/03/2004, 13h14

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