gpt4 book ai didi

java - 选择 jtree 中的所有复选框节点

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:59:17 25 4
gpt4 key购买 nike

我有一个基于命名 vector 构建的复选框节点树。我有一个名为 select all 的按钮。当我单击全选按钮时,我需要选择复选框节点树上的所有节点。

我用过的代码是

 for (CheckBoxNode rowNode: CheckBoxNodeTree. checkBoxCoulmn) 
{
if(rowNode instanceof CheckBoxNode)
rowNode.setSelected((true));
}

这里的 checkBoxColumn 是一个数组列表,它包含树的所有节点作为 (Node , isSelected) 。

但是当我这样做时,树没有任何反应。

最佳答案

我通过将树节点转换为默认的可变树节点并获取子节点的枚举来完成此操作。然后你可以遍历它们并设置选择(真)。如果用户反复点击,您的方式可能会遇到线程或并发修改问题。

Enumeration<TreeNode> children = ((DefaultMutableTreeNode) node).breadthFirstEnumeration();
while (children.hasMoreElements()) {
TreeNode child = children.nextElement();
Object currentNode = ((DefaultMutableTreeNode) child).getUserObject();
//cast your currentNode to the check box and set selected or unselected.
}

此外,您是在事件调度线程上执行此操作吗?如果不是,那可能就是您看不到屏幕任何更新的原因。

关于java - 选择 jtree 中的所有复选框节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9107291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com