我列出在树上structure.The树复选框组与载体,其存储在所述树的复选框的状态相连接。我有按钮来选择所有复选框和其他按钮来选择相应的复选框。从下面的图表中可以看到UI。与编程方式选择复选框问题节点
for (CheckBoxNode Node : CheckBoxNodeTree.checkBoxRows) {
if(Node.isSelected()){
Node.setSelected(!Node.isSelected());
}
对于选择中使用的所有代码:
TreeModel model = TREE.getModel();
TreeNode rootofTree = (TreeNode) model.getRoot();
Enumeration<TreeNode> enumeratorForTree = ((DefaultMutableTreeNode)rootofTree).breadthFirstEnumeration();
while (enumeratorForTree.hasMoreElements()) {
TreeNode child = enumeratorForTree.nextElement();
Object currentNode = ((DefaultMutableTreeNode) child).getUserObject();
if(currentNode instanceof CheckBoxNode) {
((CheckBoxNode) currentNode).setSelected(true);
}
}
for (CheckBoxNode Node: CheckBoxNodeTree.checkBoxRows)
{
Node.setSelected(true);
}
我现在面临的问题是,在点击相应的按钮,复选框状态变化,但点击后“选择所有“按钮,我可以看到节点被检查,但在此之后,如果我尝试使用相应的按钮选择induvidual节点,我无法在树上看到结果。 任何人都可以帮助我的建议。感谢提前回复。
这是一个错字吗?您正在使用不同的枚举。而(enumeratorForTree.hasMoreElements()){ 树节点子= enumeratorForColumnTree.nextElement(); – Dodd10x 2012-02-03 05:12:13
我不太清楚你的问题。清除复选框时什么都没有提到?某处你必须将它们设置为假?检查一个已经被选中的框是没有作用的? – Gus 2012-02-03 05:12:58
为了更快地获得更好的帮助,请发布[SSCCE](http://sscce.org/)。 – 2012-02-03 05:35:06