私は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);
優秀キャッチ、あなたをどうやったのか... 1人の – mKorbel
おかげで、私は半分の朝その方法を探している:) –