Bonjour
Je cherche comment rechercher et sélectionner un élément dans un JTree à partir du code. En gros j'ai quelque chose dans ce genre :
Ensuite dans ma fonction recherche, je récupère le "children.get(n)" qui correspond et le JTree, mais je ne trouve pas de fonction dans le JTree qui me permette de chercher ou au moins comparer les éléments du JTree avec l'élément que je récupère ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public DefaultMutableTreeNode getTreeNode() { DefaultMutableTreeNode tree = new DefaultMutableTreeNode(getName()); // children = ArrayList<Data> for (int i = 0; i < children.size(); i++ ) tree.add(new DefaultMutableTreeNode(children.get(i))); return tree; } public JTree getJTree() { JTree jtree = new JTree(getTreeNode()); return jtree; }
J'ai essayer cette fonction :
Mais c'est juste de la merde, je peux déjà pas cast le (DefaultMutableTreeNode) tree.getComponent(i) alors bon, je doit pas avoir bien compris :s
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 public void actionPerformed(ActionEvent e) { Data data = getElement(searchField.getText()); System.out.println(searchField.getText()); if(data != null) { System.out.println("Search"); int row = -1; JTree tree = getTree(); for(int i = 0; i < tree.getRowCount(); i++) { if(((DefaultMutableTreeNode) tree.getComponent(i)).getUserObject().equals(data)) { System.out.println("Find"); row = i; break; } } if(row != -1) tree.setSelectionRow(row); } }
Partager