zoukankan      html  css  js  c++  java
  • SWT的CheckBoxTreeView的上级菜单与下级菜单的选中的实现

    是不是很神奇?




    treeViewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(CheckStateChangedEvent event) { // TODO Auto-generated method stub if (event.getChecked()) { CheckboxTreeViewer viewer = (CheckboxTreeViewer) event.getSource(); //选中:设置下级菜单选中 viewer.setSubtreeChecked(event.getElement(), true); //选中:如果是子集菜单,且同级菜单全是选中的时候设置parent选中 //同样如果此时parent所在的同级菜单全选中做相应的迭代处理 //TODO:获取所有选中的项,比较绝对路径 } else { CheckboxTreeViewer viewer = (CheckboxTreeViewer) event.getSource(); //不选中:下级目录菜单全不选中 Layer file = (Layer) event.getElement(); viewer.setSubtreeChecked(file, false); // //不选中:如果父级菜单是选中不能设置为选中 // Layer parent = file.getParentFile(); // //这里需要注意如果是顶级菜单不再迭代设置,否则将会空指针 // if (parent.exists() && !parent.getAbsolutePath().equals(projectRoot)) { // setParentUnchecked(viewer, file.getParentFile()); // } } } });

    效果如下:

    当选中上级菜单则下级菜单会自动选中:

    当取消了上级菜单的选中状态,下级菜单会自动取消;

  • 相关阅读:
    c# Task多线程并行任务中等待所有线程都执行完成
    C#多线程之所有线程执行完成后
    正则表达式
    js 实时监听input中值变化
    js中prop和attr区别
    获取自定义属性
    checkBox
    js中判断数组中是否包含某元素的方法
    leetcode — path-sum-ii
    leetcode — path-sum
  • 原文地址:https://www.cnblogs.com/wangjiyuan/p/checkboxt.html
Copyright © 2011-2022 走看看