私はツリー構造でリストされたチェックボックスグループを持っています。ツリーはツリーにチェックボックスの状態を格納するベクトルに接続されています。私はすべてのチェックボックスを選択するためのボタン、および対応するチェックボックスを選択するための他のボタンを持っています。下の図から、あなたは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);
}
私が今直面しています問題は、各ボタン、チェックボックスの状態の変更をクリックすると上のが、クリックした後、「選択していることですすべての "ボタンをクリックすると、ノードがチェックされているのがわかりますが、その後、対応するボタンを使用してノードを選択しようとすると、ツリー上に結果が表示されません。 誰でもあなたの提案を助けてくれますか?事前に回答者に感謝します。
これは誤植ですか?異なる列挙を使用しています。 while(enumeratorForTree.hasMoreElements()){ TreeNode child = enumeratorForColumnTree.nextElement(); – Dodd10x
私はあなたの質問にはっきりしていません。チェックボックスをオフにしても何も言及しませんか?あなたはどこかにそれらをfalseに戻さなければならないのですか?既にチェックされているボックスをチェックすることはノーオペレーションですか? – Gus
すぐに役立つように、[SSCCE](http://sscce.org/)を投稿してください。 –