Tôi có một nút Jtree và 2 để chọn và bỏ chọn tất cả các nút. Tôi đã thực hiện một nỗ lực như sau:JTree: Chọn tất cả các nút theo chương trình
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();
}
});
Nút bỏ chọn có vẻ đang hoạt động, nhưng chọn tất cả chỉ mở rộng JTree và chọn nút cuối cùng. Tôi nghĩ mỗi lần một nút được chọn theo chương trình, tôi sẽ bỏ chọn nút cũ.
JTree được cấu hình như thế này:
curvesTree = new JTree(rootNode);
curvesTree.setExpandsSelectedPaths(true);
curvesTree.getSelectionModel().setSelectionMode(TreeSelectionModel.
DISCONTIGUOUS_TREE_SELECTION);
xuất sắc đánh bắt, làm thế nào bạn ... 1 – mKorbel
Cảm ơn, tôi đã được tìm kiếm phương pháp mà nửa buổi sáng :) –