Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2766 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  action sur un jtree

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

action sur un jtree

n°1198170
uxam
Posté le 13-09-2005 à 10:31:57  profilanswer
 

bonjour, j'aimerais que lorsque je clique sur un noeud de mon jtree un panel spécifique  vienne s'afficher dans ma frame, mais je vois pas comment faire  [:darkmavis xp]

mood
Publicité
Posté le 13-09-2005 à 10:31:57  profilanswer
 

n°1198215
uxam
Posté le 13-09-2005 à 10:51:05  profilanswer
 

Code :
  1. void tree_valueChanged(TreeSelectionEvent e)
  2.   {
  3.     DefaultMutableTreeNode node = (DefaultMutableTreeNode)
  4.         tree.getLastSelectedPathComponent();
  5.     if (node == null)
  6.     {
  7.       return ;
  8.     }
  9.     Object nodeInfo = node.getUserObject();
  10.     if (node.toString()== "Liste des abonnés" )
  11.     {
  12.       jPanel1.add(pnlListAbonnés,null);
  13.     }
  14.     if (node.toString()== "Ajouter un abonné" )
  15.     {
  16.       jPanel1.add(pnlNewAbonné,null);
  17.     }
  18.     if(node.toString() == "Ajouter un abonnement" )
  19.     {
  20.       jPanel1.add(pnlNewAbonnement,null);
  21.     }
  22.     else
  23.     {
  24.     }
  25.   }
  26. }

bon j'ai fait ca, ca me change de panel quand je clique sur un noeud, seulement ca ne marque qu'une seule fois, je ne peux pas revenir à un précédent panel

n°1198287
jogrey
Posté le 13-09-2005 à 11:15:10  profilanswer
 

Tu vides le jPanel1 de ses composants precedements ajoutes ?

n°1198545
uxam
Posté le 13-09-2005 à 14:53:44  profilanswer
 

faut que je fasse un jPanel1.removeall() à chaque if ?

n°1198589
jogrey
Posté le 13-09-2005 à 15:27:21  profilanswer
 

Disons que ton jPanel1, si tu selectionnes liste des abonnées, il se voit ajouter un panel, quand plus tard tu reviens dessus, que tu selectionnes autre chose, tu ajoute un autre panel, mais tu effaces pas l'ancien, a moins que tu instancies un jPanel1 a chaque fois que tu passes par la, mais ça on ne peut pas savoir avec ton bout de code.

n°1200105
uxam
Posté le 15-09-2005 à 11:04:03  profilanswer
 

Code :
  1. void this_mouseClicked(MouseEvent e)
  2.   {
  3.     TreePath path ;
  4.     DefaultMutableTreeNode node = (DefaultMutableTreeNode)
  5.       tree.getLastSelectedPathComponent();
  6.     if(e.getClickCount() == 2)
  7.     {
  8.      
  9.       if(node.toString().equals("Liste des abonnés" ))
  10.       {
  11.         gui.jPanelFenetres.removeAll();
  12.         gui.jPanelFenetres.add(pnlListAbonnés,null);
  13.         gui.jPanelFenetres.updateUI();
  14.       }
  15.       if(node.toString().equals("Liste des abonnés" ))
  16.       {
  17.         gui.jPanelFenetres.removeAll();
  18.         gui.jPanelFenetres.add(pnlListAbonnés,null);
  19.         gui.jPanelFenetres.updateUI();
  20.       }
  21.       if(node.toString().equals("Liste des abonnés" ))
  22.       {
  23.         gui.jPanelFenetres.removeAll();
  24.         gui.jPanelFenetres.add(pnlListAbonnés,null);
  25.         gui.jPanelFenetres.updateUI();
  26.       }
  27.     }
  28.   }

j'ai refait un truc comme ca mais la ca marche plus du tout :D

n°1200176
jogrey
Posté le 15-09-2005 à 11:27:55  profilanswer
 

Reprenons :) Qu'est ce qui ne marche pas dans ton code ?
 
Ton mouseClicked a l'air correct.

n°1200184
uxam
Posté le 15-09-2005 à 11:30:33  profilanswer
 

j'ai fait un system.out.println après le 1er if et il n'apparait meme pas, je pige rien

n°1200191
uxam
Posté le 15-09-2005 à 11:34:01  profilanswer
 

en fait oui le système.out apparait maintenant mais les panels ne s'ajoutent pas

n°1200194
jogrey
Posté le 15-09-2005 à 11:34:48  profilanswer
 

On utilise pas le toString de ttes façons, cherche vers node.getUserObject() plutôt :)

mood
Publicité
Posté le 15-09-2005 à 11:34:48  profilanswer
 

n°1200196
jogrey
Posté le 15-09-2005 à 11:36:17  profilanswer
 

Tes panels, ont des preferedSize ? Ils sont "visible" ?

n°1200210
uxam
Posté le 15-09-2005 à 11:40:09  profilanswer
 

oui :D

n°1200211
uxam
Posté le 15-09-2005 à 11:40:47  profilanswer
 

c'est ca ma dernièer version en fait

Code :
  1. void tree_mouseClicked(MouseEvent e)
  2.   {
  3.     TreePath path ;
  4. if(e.getClickCount() == 2)
  5. {
  6.    path = tree.getSelectionPath();
  7.    if(path.toString().equals("Liste des abonnés" ))
  8.    {
  9.      gui.jPanelFenetres.removeAll();
  10.      pnlListAbonnés.setVisible(true);
  11.      gui.jPanelFenetres.add(pnlListAbonnés,null);
  12.      gui.jPanelFenetres.updateUI();
  13.    }
  14.    if(path.toString().equals("Liste des abonnés" ))
  15.    {
  16.      gui.jPanelFenetres.removeAll();
  17.      gui.jPanelFenetres.add(pnlListAbonnés,null);
  18.      gui.jPanelFenetres.updateUI();
  19.    }
  20.    if(path.toString().equals("Liste des abonnés" ))
  21.    {
  22.      gui.jPanelFenetres.removeAll();
  23.      gui.jPanelFenetres.add(pnlListAbonnés,null);
  24.      gui.jPanelFenetres.updateUI();
  25.    }
  26. }
  27.   }

n°1200218
jogrey
Posté le 15-09-2005 à 11:42:00  profilanswer
 

Ce panel jPanelFenetres, c'est un panel a coté de ton JTree ? C'est le panel qui contient le JTree ? Ton Panel a un Layout ?


Message édité par jogrey le 15-09-2005 à 11:47:55
n°1200846
uxam
Posté le 16-09-2005 à 09:52:02  profilanswer
 

oui c'est le panel à coté du jtree, celui ou tous les panels vont s'ajouter. Il est en flowlayout

n°1202098
uxam
Posté le 19-09-2005 à 10:00:27  profilanswer
 

je créer comme ca mon jtree c'est ptet ca qui est faux ?

Code :
  1. private void createNodes(DefaultMutableTreeNode racine)
  2. {
  3.   DefaultMutableTreeNode category = null;
  4.   DefaultMutableTreeNode sousCat = null;
  5.   category = new DefaultMutableTreeNode("Abonné" );
  6.   racine.add(category);
  7.   sousCat = new DefaultMutableTreeNode(
  8.     ("Liste des abonnés"
  9.      ));
  10.   category.add(sousCat);
  11.   sousCat = new DefaultMutableTreeNode(
  12.     ("Ajouter un abonné"
  13.      ));
  14.   category.add(sousCat);
  15.   category = new DefaultMutableTreeNode("Abonnement" );
  16.   racine.add(category);
  17.   sousCat = new DefaultMutableTreeNode(
  18.     ("Ajouter un abonnement"
  19.      ));
  20.   category.add(sousCat);
  21.   category = new DefaultMutableTreeNode("recette" );
  22.   racine.add(category);
  23. }


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  action sur un jtree

 

Sujets relatifs
Jtree et DefaultMutableTreeNode[Batch]Ouvrir dossier, effectuer action puis fermer
champ caché action[PHP] - mysql - connaitre la derniere action sur une liste de tables
action au clic de sourisaction submit
Champs de formulaire absent en page d'actionformulaire et php : action??
Recup données html:select dans classe action[JAVA] Changer le node dans un JTree ?
Plus de sujets relatifs à : action sur un jtree


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR