나는 모든 노드를 선택하거나 선택 취소하기 위해 Jtree와 2 개의 버튼이 있습니다.JTree : 프로그래밍 방식으로 모든 노드 선택
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를 확장하고 마지막 노드를 선택 :이 같은 시도를했다. 노드가 프로그래밍 방식으로 선택 될 때마다 나는 이전 노드를 선택 취소합니다. 예를 들어,
curvesTree = new JTree(rootNode);
curvesTree.setExpandsSelectedPaths(true);
curvesTree.getSelectionModel().setSelectionMode(TreeSelectionModel.
DISCONTIGUOUS_TREE_SELECTION);
excelent 캐치, 당신을 어떻게했는지 ... +1 – mKorbel
감사합니다, 나는 반 아침에 그 방법을 찾고있다 : –