У меня есть группа флажков, перечисленных в древовидной структуре. Дерево связано с вектором, который хранит состояние флажков в дереве. У меня есть кнопки для выбора всех флажков и другие кнопки для выбора соответствующего флажка. Из приведенной ниже диаграммы вы можете изобразить пользовательский интерфейс.
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);
}
Проблема, с которой я сталкиваюсь сейчас, заключается в том, что при нажатии соответствующих кнопок состояние флажка изменяется, но после нажатия кнопки «Выбрать все» я вижу, что узлы проверяются, но после этого, если я попытаюсь выбрать отдельные узлы с помощью соответствующую кнопку, я не вижу результат на дереве. Может ли кто-нибудь помочь мне с вашими предложениями. Заранее спасибо ответившему.