मेरे पास एक जेट्री है, और 2 बटन सभी नोड्स का चयन और चयन रद्द करने के लिए हैं।जेटीआर: प्रोग्रामिंग के सभी नोड्स का चयन
selectAll = new JButton("Select all");
selectAll.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
int row = 0;
while (row < curvesTree.getRowCount())
{
curvesTree.expandRow(row);
row++;
}
int entradasTree = curvesTree.getRowCount();
for(int i=0; i<entradasTree; i++){
TreePath path = curvesTree.getPathForRow(i);
curvesTree.setSelectionPath(path);
}
}
});
unselectAll = new JButton("Unselect all");
unselectAll.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
curvesTree.clearSelection();
}
});
का चयन रद्द करें बटन काम कर रहा है, लेकिन चयन सब केवल JTree फैलता है और पिछले नोड का चयन करता है: मैं इस तरह के प्रयास किए गए। मुझे लगता है कि जब भी नोड को प्रोग्रामिक रूप से चुना जाता है, तो मैं पूर्व को अचयनित कर रहा हूं।
JTree इस तरह कॉन्फ़िगर किया गया है:
curvesTree = new JTree(rootNode);
curvesTree.setExpandsSelectedPaths(true);
curvesTree.getSelectionModel().setSelectionMode(TreeSelectionModel.
DISCONTIGUOUS_TREE_SELECTION);
उत्कृष्ट पकड़, आप कैसे किया ... +1 – mKorbel
धन्यवाद, मुझे लगता है कि विधि के लिए आधा सुबह की तलाश में गया है :) –