Bonjour,
J'ai créé un arbre avec des checkbox mais je ne sais pas comment extraire les données sélectionnées. voici mon arbre:

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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.EventObject;
import javax.swing.JCheckBox;
import javax.swing.JTree;
import javax.swing.event.CellEditorListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeCellEditor;
import javax.swing.tree.TreeCellRenderer;
 
 
public class MyJTree{
 
	DefaultMutableTreeNode racine;
	DefaultMutableTreeNode noeud;
	JTree Tree;
 
	Parsing Parse = new Parsing();	
	private ArrayList<PGN> pgns= null;
	private ArrayList<SPN> spns = null;
 
	public JTree BuildTree(){
		racine = new DefaultMutableTreeNode("PGN");
		Tree = new JTree(racine);
		Tree.setLayout(new BorderLayout());
		return Tree;
	}
 
	public JTree BuildPGN(String ifilename){
 
		RenduComposant rc = new RenduComposant();
		EditComposant ec = new EditComposant();
		JCheckBox jcb = new JCheckBox();
 
		pgns= Parse.CreationPGN(ifilename);			
		racine = new DefaultMutableTreeNode(new JCheckBox("PGN"));
		for(int i=0;i<pgns.size();i++){
			jcb=new JCheckBox(pgns.get(i).getName());
			noeud =new DefaultMutableTreeNode(jcb,true);
			racine.add(noeud);
			ArrayList<SPN> spns = pgns.get(i).getSpns();
			for(int j=0;j<spns.size();j++){
				jcb=new JCheckBox(spns.get(j).getName());
				DefaultMutableTreeNode noeudfils = new DefaultMutableTreeNode(jcb,true);
				noeud.add(noeudfils);
 
				jcb=new JCheckBox("Start bit :"+spns.get(j).getStart_bit());
				DefaultMutableTreeNode noeudfilsfils1 = new DefaultMutableTreeNode(jcb,true);
				jcb=new JCheckBox("Length :"+spns.get(j).getLength());
				DefaultMutableTreeNode noeudfilsfils2 = new DefaultMutableTreeNode(jcb,true);
				jcb=new JCheckBox("Encodage :"+spns.get(j).getEncodage());
				DefaultMutableTreeNode noeudfilsfils3 = new DefaultMutableTreeNode(jcb,true);
				jcb=new JCheckBox("Signe :"+spns.get(j).getSigned());
				DefaultMutableTreeNode noeudfilsfils4 = new DefaultMutableTreeNode(jcb,true);
				jcb=new JCheckBox("Scaling :"+spns.get(j).getScaling());
				DefaultMutableTreeNode noeudfilsfils5 = new DefaultMutableTreeNode(jcb,true);
				jcb=new JCheckBox("Offset :"+spns.get(j).getOffset());
				DefaultMutableTreeNode noeudfilsfils6 = new DefaultMutableTreeNode(jcb,true);
				jcb=new JCheckBox("Range min :"+spns.get(j).getRange_min());
				DefaultMutableTreeNode noeudfilsfils7 = new DefaultMutableTreeNode(jcb,true);
				jcb=new JCheckBox("Range max :"+spns.get(j).getRange_max());
				DefaultMutableTreeNode noeudfilsfils8 = new DefaultMutableTreeNode(jcb,true);
				jcb=new JCheckBox("Unit :"+spns.get(j).getUnit());
				DefaultMutableTreeNode noeudfilsfils9 = new DefaultMutableTreeNode(jcb,true);
				jcb=new JCheckBox("Consommateur :"+spns.get(j).getConsommateur());
				DefaultMutableTreeNode noeudfilsfils10 = new DefaultMutableTreeNode(jcb,true);
				jcb=new JCheckBox("Comment :"+spns.get(j).getComment());
				DefaultMutableTreeNode noeudfilsfils11 = new DefaultMutableTreeNode(jcb,true);
				jcb=new JCheckBox("Masque :"+String.format("0x%016x",Long.parseLong(spns.get(j).getMasque())).toUpperCase());
				DefaultMutableTreeNode noeudfilsfils12 = new DefaultMutableTreeNode(jcb,true);				
 
				noeudfils.add(noeudfilsfils1);
				noeudfils.add(noeudfilsfils2);
				noeudfils.add(noeudfilsfils3);
				noeudfils.add(noeudfilsfils4);
				noeudfils.add(noeudfilsfils5);
				noeudfils.add(noeudfilsfils6);
				noeudfils.add(noeudfilsfils7);
				noeudfils.add(noeudfilsfils8);
				noeudfils.add(noeudfilsfils9);
				noeudfils.add(noeudfilsfils10);
				noeudfils.add(noeudfilsfils11);
				noeudfils.add(noeudfilsfils12);
			}
 
		}
		Tree=new JTree(racine);
		Tree.setCellRenderer(rc);
		Tree.setCellEditor(ec);
		Tree.expandRow(0);
		Tree.setEditable(true);
 
		return Tree;
	}
 
//	public PGN getPGNTree(){
//		
//	}
}
 
class RenduComposant implements TreeCellRenderer{
 
	public Component getTreeCellRendererComponent(JTree tree, Object obj,
			boolean selected, boolean expanded, boolean leaf,
			int row, boolean hasFocus){
 
		DefaultMutableTreeNode dmtcr = (DefaultMutableTreeNode)obj;
		JCheckBox toto = (JCheckBox)dmtcr.getUserObject();
 
		return toto;
	}
}
 
class EditComposant implements TreeCellEditor{
 
	public void addCellEditorListener(CellEditorListener l){ }
	public void cancelCellEditing() { }
	public Object getCellEditorValue(){
		return this;
	}
	public boolean isCellEditable(EventObject evt){
		if(evt instanceof MouseEvent){
			MouseEvent mevt = (MouseEvent) evt;
			if (mevt.getClickCount() == 1){
				return true;
			}
		}
		return false;
	}
 
	public void removeCellEditorListener(CellEditorListener l){}
	public boolean shouldSelectCell(EventObject anEvent){
		return true;
	}
	public boolean stopCellEditing(){
		return false;
	}
	public Component getTreeCellEditorComponent(JTree tree, Object obj, boolean isSelected, boolean expanded, boolean leaf, int row){
		DefaultMutableTreeNode dmtn = (DefaultMutableTreeNode)obj;
		JCheckBox tata=(JCheckBox)dmtn.getUserObject();
		tata.setEnabled(true);
		return tata;
	}
}
Pouvez vous m'aider svp?

merci d'avance