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()); // } } } });

    效果如下:

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

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

  • 相关阅读:
    Rx
    linux rpm 安装包制作
    kamctl start
    dedicated bearer
    Kamailio
    EPC sequence
    TD-LTE技术原理与系统设计
    SS7
    SCTP
    GTP
  • 原文地址:https://www.cnblogs.com/wangjiyuan/p/checkboxt.html
Copyright © 2011-2022 走看看