`

SWT的CheckBoxTreeView的上级菜单与下级菜单的选中的实现

    博客分类:
  • SWT
 
阅读更多
是不是很神奇?




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

效果如下:

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

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

分享到:
评论

相关推荐

    swt中treeview和tableview实例

    swt中treeview和tableview实例,有助于理解这两个控件的使用。另外附带html页面。。可读性更强。

    SWT combobox 联动菜单

    用eclipse的SWT编写的Combobox控件联动菜单: 将MySql数据库的主分类读入combo中,然后通过判断数据库中ID从而得到相应子分类中的数据,然后将数据读入到subcombo Mysql数据库文件: 主分类表:mcc id MainClass ...

    SWT Combobox联动菜单

    用eclipse的SWT编写的Combobox控件联动菜单: 将MySql数据库的主分类读入combo中,然后通过判断数据库中ID从而得到相应子分类中的数据,然后将数据读入到subcombo Mysql数据库文件: 主分类表:mcc id MainClass 0 ...

    基于SWT实现的类似Office2007的Ribbon菜单

    对于热衷于微软Ribbon菜单的Java开发者来说,一直...此源码实现通过SWT,实现了Ribbon菜单结构的展现。代码还在进一步的完善中。下载rar源码后,解压后,在test中,有测试代码,可以直接运行,查看效果。希望您能喜欢。

    swt table 实现换行

    根据提供的文件信息,可以看出本文主要讨论的是如何在 SWT (Standard Widget Toolkit) 的 Table 控件中实现文本换行的功能。SWT 是一个用于开发基于 Java 的桌面应用程序的工具包,它提供了丰富的用户界面组件来帮助...

    swt...zhedie.rar_SWT_site:www.pudn.com_折叠菜单

    本教程主要讲解如何在Java中使用SWT实现折叠菜单的功能。 折叠菜单是一种节省屏幕空间并提供层次化导航的UI设计,它允许用户展开或折叠子菜单来查看或隐藏相关内容。在SWT中,我们可以使用`Tree`和`TreeItem`类来...

    swt-64.rar_64位swt_64的SWT_SWT64_swt.jar 64位_swt64位

    SWT的设计目标是提供一个与平台相关的、高效的GUI库,它通过直接调用操作系统API来实现,而不是像Java Swing那样依赖Java抽象窗口工具包(AWT)和Java 2D。这种设计使得SWT应用程序在性能上通常优于Swing,并且可以...

    使用SWT实现流程编辑器画板

    SWT的优势在于它能够与操作系统的图形系统紧密集成,从而提供更快的性能和更符合平台习惯的外观。在创建流程编辑器画板时,SWT的这一特性使得它可以轻松地构建出响应迅速、用户友好的界面。 在描述中提到的“添加、...

    Java使用SWT技术实现跳棋游戏.rar

    SWT是Eclipse基金会维护的一个开源库,它提供了与操作系统原生控件紧密集成的Java GUI组件,使得开发出的界面更加美观且性能优秀。SWT是针对Java AWT和Swing的一种替代方案,它通过本地方法接口直接调用操作系统API...

    SWT视频播放器

    SWT直接与操作系统API交互,因此可以创建原生外观的应用程序,并且性能通常优于纯Java的GUI库。 在构建视频播放器时,SWT提供了许多基础组件,如按钮、文本框、滚动条等,但这些组件并不包含直接处理视频流的能力。...

    SWT源码 swt.jar

    SWT(Standard Widget Toolkit)是Eclipse项目的一个重要组成部分,它提供了一套用于构建图形用户界面(GUI)的API,与Java Swing不同,SWT基于操作系统原生的UI组件,因此能够实现更好的性能和与操作系统的集成。...

    SWT常用组件

    - **SWT.MULTI/SWT.WRAP**:多行输入,分别通过回车和自动换行实现。 - **SWT.PASSWORD**:密码型文本框,输入的字符以星号表示。 - **SWT.BORDER**:深陷型边框。 - **SWT.V_SCROLL/SWT.H_SCROLL**:垂直/水平滚动...

    SWT中利用Treeview来显示XML文件

    这通常涉及实现`TreeDataProvider`接口,然后将数据提供者与Treeview关联起来。 6. **刷新视图**:当XML数据改变或需要更新显示时,调用`Tree.refresh()`方法可以更新Treeview的内容。 7. **优化性能**:为了提高...

    swt实现天气预报查询

    SWT是由Eclipse基金会开发的一个开源GUI库,它提供了丰富的用户界面组件,能够创建与操作系统原生界面更加融合的图形用户界面。 首先,我们需要理解SWT的基本概念。SWT是一种轻量级的窗口系统,它是Java AWT和Swing...

    swt实现的日历附带说明使用

    SWT提供了与操作系统直接交互的原生控件,从而提供了更流畅、性能更好的用户界面。而"swt实现的日历附带说明使用"这个主题涉及到的是如何在SWT应用中集成日历功能,特别是使用了JDatePicker这个组件。 JDatePicker ...

    SWT 中嵌入Word 控件应用

    在IT行业中,有时候我们需要在Java应用中集成第三方控件或者组件来实现特定的功能,比如在SWT(Standard Widget Toolkit)环境中嵌入Word编辑器。这篇博客"SWT中嵌入Word控件应用"可能就是讲述如何在Java SWT界面中...

    JAVA SWT学生信息管理系统

    SWT是Eclipse基金会维护的一个开源项目,它为Java开发者提供了与操作系统原生用户界面交互的API。相比Java自带的AWT和Swing,SWT具有更好的性能和更接近原生应用的外观,因为它直接调用底层操作系统提供的UI组件。 ...

    SWT实现文字区域提取

    通过计算图像中每个像素点的局部宽度,SWT能够突出显示具有特定宽度特征的结构,从而将文字区域与背景分离。 在C++中实现SWT,通常涉及以下步骤: 1. **预处理**:首先,对输入图像进行预处理,包括灰度化、二值化...

    SWT Table单元格编辑功能

    ### SWT Table单元格编辑功能详解 在Java图形用户界面(GUI)开发中,SWT...通过以上步骤,我们可以在SWT `Table`控件中实现单元格的编辑功能,使用户能够直接在界面上修改数据,提高了应用的交互性和实用性。

    SWT JFace 按键、事件、监听

    - **SWT.MenuDetect**:选中菜单时 - **SWT.Modify**:文本修改时 - **SWT.MouseDoubleClick**:双击鼠标时 - **SWT.MouseDown**:鼠标按下时 - **SWT.MouseEnter**:鼠标进入时 - **SWT.MouseExit**:鼠标离开时 - ...

Global site tag (gtag.js) - Google Analytics