OVH Cloud OVH Cloud

[GUI] JTree clique sur un noeud ou une feuille

11 réponses
Avatar
Alexandre Jaquet
Bonjour,

J'aimerais pouvoir recuperer si l utilisateur clique sur un noeud ou une
feuille
de l arbre.

D'avance je vous remercie.

10 réponses

1 2
Avatar
jerome moliere
Alexandre Jaquet wrote:

Bonjour,

J'aimerais pouvoir recuperer si l utilisateur clique sur un noeud ou une
feuille
de l arbre.
je comprends mal la question...

seu lton modele sait s'il s'agit d'une feuille ou d'un noeud ?
d'ailleurs il le sait forcement, puisque c'est lui qui donne l'ifno au
renderer affichant la decoration...

donc je ne vois pas le probleme...

Jerome

Avatar
Alexandre Jaquet
En fait mon arbre va reprensenté une liste de contacts, chaque noeud
sera un groupe et toute les feuilles representeront des utilisateurs.

J'aimerai pouvoir recuperer si une utilisateur double click sur une feuille
de
l'arbre afin d'ouvrir un dialogue.

Donc ma question est comment recupere t'on l'evenement de la souris si
on clique (double) sur une feuille.

Vala

D'avance merci.
"jerome moliere" a écrit dans le message de
news:boo9o1$7uh$
Alexandre Jaquet wrote:

Bonjour,

J'aimerais pouvoir recuperer si l utilisateur clique sur un noeud ou une
feuille
de l arbre.
je comprends mal la question...

seu lton modele sait s'il s'agit d'une feuille ou d'un noeud ?
d'ailleurs il le sait forcement, puisque c'est lui qui donne l'ifno au
renderer affichant la decoration...

donc je ne vois pas le probleme...

Jerome




Avatar
Esteban
"Alexandre Jaquet" s'est appliqué à taper avec ses
petits doigts-doigts :

Salut, ca se passe dans le MouseListener associé à ton JTree.

tree.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
if tree.getPathForLocation(e.getX(), e.getY()).hasChildren();
ou qqch dans ce genre qui permette de déterminer si c un dossier ou une
feuille

public void mouseReleased(MouseEvent e) {
idem...
}
}

Voilà...

Sinon pour le popup regarde mon post précédent pour voir le problème lié au
isPopupTrigger().

@+
Avatar
Alexandre Jaquet
Merci pour ton aide tu ne saurais pas par hazard ou trouver de la bonne
doc sur les jtree car celle de sun n est pas tres explicite.


"Esteban" a écrit dans le message de
news:
"Alexandre Jaquet" s'est appliqué à taper avec ses
petits doigts-doigts :

Salut, ca se passe dans le MouseListener associé à ton JTree.

tree.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
if tree.getPathForLocation(e.getX(), e.getY()).hasChildren();
ou qqch dans ce genre qui permette de déterminer si c un dossier ou une
feuille

public void mouseReleased(MouseEvent e) {
idem...
}
}

Voilà...

Sinon pour le popup regarde mon post précédent pour voir le problème lié
au

isPopupTrigger().

@+


Avatar
Esteban
"Alexandre Jaquet" s'est appliqué à taper avec ses
petits doigts-doigts :

Merci pour ton aide tu ne saurais pas par hazard ou trouver de la bonne
doc sur les jtree car celle de sun n est pas tres explicite.




J'ai archivé un tutoriel sur JTree mais sinon, je ne sais pas ou tu peux
trouver ca.

Si tu me donnes ton adresse, je peux te l'envoyer.

@+

Avatar
Alexandre Jaquet
J ai trouvé ceci afin de determiner si l element selectionner est une
feuille ou non

tree.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode)
tree.getLastSelectedPathComponent();
if (node == null) return;
if (node.node.isLeaf())
}

mais maitenenant j aimerais savoir si l utilisateur a cliqué 2 fois en plus
de savoir
si il a selectionné une feuille

Merci de votre aide
"Alexandre Jaquet" a écrit dans le message de
news:3fafb57f$0$3669$
Merci pour ton aide tu ne saurais pas par hazard ou trouver de la bonne
doc sur les jtree car celle de sun n est pas tres explicite.


"Esteban" a écrit dans le message de
news:
"Alexandre Jaquet" s'est appliqué à taper avec ses
petits doigts-doigts :

Salut, ca se passe dans le MouseListener associé à ton JTree.

tree.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
if tree.getPathForLocation(e.getX(), e.getY()).hasChildren();
ou qqch dans ce genre qui permette de déterminer si c un dossier ou une
feuille

public void mouseReleased(MouseEvent e) {
idem...
}
}

Voilà...

Sinon pour le popup regarde mon post précédent pour voir le problème lié
au

isPopupTrigger().

@+






Avatar
yvon.thoraval
Esteban wrote:


J'ai archivé un tutoriel sur JTree mais sinon, je ne sais pas ou tu peux
trouver ca.

Si tu me donnes ton adresse, je peux te l'envoyer.


ben perso, j'aimerais bien l'avoir ce tuto Jtree...
--
Yvon Thoraval

Avatar
Esteban
"Alexandre Jaquet" s'est appliqué à taper avec ses
petits doigts-doigts :

J ai trouvé ceci afin de determiner si l element selectionner est une
feuille ou non

tree.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode)
tree.getLastSelectedPathComponent();
if (node == null) return;
if (node.node.isLeaf())
}

mais maitenenant j aimerais savoir si l utilisateur a cliqué 2 fois en
plus de savoir
si il a selectionné une feuille

Merci de votre aide
"Alexandre Jaquet" a écrit dans le message de
news:3fafb57f$0$3669$
Merci pour ton aide tu ne saurais pas par hazard ou trouver de la
bonne doc sur les jtree car celle de sun n est pas tres explicite.


"Esteban" a écrit dans le message de
news:
"Alexandre Jaquet" s'est appliqué à taper avec
ses petits doigts-doigts :

Salut, ca se passe dans le MouseListener associé à ton JTree.

tree.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
if tree.getPathForLocation(e.getX(),
e.getY()).hasChildren();
ou qqch dans ce genre qui permette de déterminer si c un dossier ou
une feuille

public void mouseReleased(MouseEvent e) {
idem...
}
}





Ben ouais, mais justement tu demandes des porcs à un berger là... Tout ce
qui concerne les événements de souris c à un MouseListener qu'il faut le
demander. Si tu utilises la méthode que je t'ai conseillé, tu auras en
plus dans le MouseEvent un getClickCount() qui te donnera le nb de clics.



Avatar
Esteban
(Yvon Thoraval) s'est appliqué à taper avec ses
petits doigts-doigts :

Esteban wrote:


J'ai archivé un tutoriel sur JTree mais sinon, je ne sais pas ou tu peux
trouver ca.

Si tu me donnes ton adresse, je peux te l'envoyer.


ben perso, j'aimerais bien l'avoir ce tuto Jtree...


Je peux pas le poster ici... Alors si vous le voulez je vous le mets sur
mon site :

http://www.tibsys.com/docs/JTree/How to Use Trees.htm


Avatar
Alexandre Jaquet
Ok merci bien :)


"Esteban" a écrit dans le message de
news:
"Alexandre Jaquet" s'est appliqué à taper avec ses
petits doigts-doigts :

J ai trouvé ceci afin de determiner si l element selectionner est une
feuille ou non

tree.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode)
tree.getLastSelectedPathComponent();
if (node == null) return;
if (node.node.isLeaf())
}

mais maitenenant j aimerais savoir si l utilisateur a cliqué 2 fois en
plus de savoir
si il a selectionné une feuille

Merci de votre aide
"Alexandre Jaquet" a écrit dans le message de
news:3fafb57f$0$3669$
Merci pour ton aide tu ne saurais pas par hazard ou trouver de la
bonne doc sur les jtree car celle de sun n est pas tres explicite.


"Esteban" a écrit dans le message de
news:
"Alexandre Jaquet" s'est appliqué à taper avec
ses petits doigts-doigts :

Salut, ca se passe dans le MouseListener associé à ton JTree.

tree.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
if tree.getPathForLocation(e.getX(),
e.getY()).hasChildren();
ou qqch dans ce genre qui permette de déterminer si c un dossier ou
une feuille

public void mouseReleased(MouseEvent e) {
idem...
}
}





Ben ouais, mais justement tu demandes des porcs à un berger là... Tout ce
qui concerne les événements de souris c à un MouseListener qu'il faut le
demander. Si tu utilises la méthode que je t'ai conseillé, tu auras en
plus dans le MouseEvent un getClickCount() qui te donnera le nb de clics.





1 2