是不是很神奇? 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实例,有助于理解这两个控件的使用。另外附带html页面。。可读性更强。
用eclipse的SWT编写的Combobox控件联动菜单: 将MySql数据库的主分类读入combo中,然后通过判断数据库中ID从而得到相应子分类中的数据,然后将数据读入到subcombo Mysql数据库文件: 主分类表:mcc id MainClass ...
用eclipse的SWT编写的Combobox控件联动菜单: 将MySql数据库的主分类读入combo中,然后通过判断数据库中ID从而得到相应子分类中的数据,然后将数据读入到subcombo Mysql数据库文件: 主分类表:mcc id MainClass 0 ...
对于热衷于微软Ribbon菜单的Java开发者来说,一直...此源码实现通过SWT,实现了Ribbon菜单结构的展现。代码还在进一步的完善中。下载rar源码后,解压后,在test中,有测试代码,可以直接运行,查看效果。希望您能喜欢。
根据提供的文件信息,可以看出本文主要讨论的是如何在 SWT (Standard Widget Toolkit) 的 Table 控件中实现文本换行的功能。SWT 是一个用于开发基于 Java 的桌面应用程序的工具包,它提供了丰富的用户界面组件来帮助...
本教程主要讲解如何在Java中使用SWT实现折叠菜单的功能。 折叠菜单是一种节省屏幕空间并提供层次化导航的UI设计,它允许用户展开或折叠子菜单来查看或隐藏相关内容。在SWT中,我们可以使用`Tree`和`TreeItem`类来...
SWT的设计目标是提供一个与平台相关的、高效的GUI库,它通过直接调用操作系统API来实现,而不是像Java Swing那样依赖Java抽象窗口工具包(AWT)和Java 2D。这种设计使得SWT应用程序在性能上通常优于Swing,并且可以...
SWT的优势在于它能够与操作系统的图形系统紧密集成,从而提供更快的性能和更符合平台习惯的外观。在创建流程编辑器画板时,SWT的这一特性使得它可以轻松地构建出响应迅速、用户友好的界面。 在描述中提到的“添加、...
SWT是Eclipse基金会维护的一个开源库,它提供了与操作系统原生控件紧密集成的Java GUI组件,使得开发出的界面更加美观且性能优秀。SWT是针对Java AWT和Swing的一种替代方案,它通过本地方法接口直接调用操作系统API...
SWT直接与操作系统API交互,因此可以创建原生外观的应用程序,并且性能通常优于纯Java的GUI库。 在构建视频播放器时,SWT提供了许多基础组件,如按钮、文本框、滚动条等,但这些组件并不包含直接处理视频流的能力。...
- **SWT.MULTI/SWT.WRAP**:多行输入,分别通过回车和自动换行实现。 - **SWT.PASSWORD**:密码型文本框,输入的字符以星号表示。 - **SWT.BORDER**:深陷型边框。 - **SWT.V_SCROLL/SWT.H_SCROLL**:垂直/水平滚动...
这通常涉及实现`TreeDataProvider`接口,然后将数据提供者与Treeview关联起来。 6. **刷新视图**:当XML数据改变或需要更新显示时,调用`Tree.refresh()`方法可以更新Treeview的内容。 7. **优化性能**:为了提高...
SWT是由Eclipse基金会开发的一个开源GUI库,它提供了丰富的用户界面组件,能够创建与操作系统原生界面更加融合的图形用户界面。 首先,我们需要理解SWT的基本概念。SWT是一种轻量级的窗口系统,它是Java AWT和Swing...
在IT行业中,有时候我们需要在Java应用中集成第三方控件或者组件来实现特定的功能,比如在SWT(Standard Widget Toolkit)环境中嵌入Word编辑器。这篇博客"SWT中嵌入Word控件应用"可能就是讲述如何在Java SWT界面中...
SWT提供了与操作系统直接交互的原生控件,从而提供了更流畅、性能更好的用户界面。而"swt实现的日历附带说明使用"这个主题涉及到的是如何在SWT应用中集成日历功能,特别是使用了JDatePicker这个组件。 JDatePicker ...
SWT是Eclipse基金会维护的一个开源项目,它为Java开发者提供了与操作系统原生用户界面交互的API。相比Java自带的AWT和Swing,SWT具有更好的性能和更接近原生应用的外观,因为它直接调用底层操作系统提供的UI组件。 ...
通过计算图像中每个像素点的局部宽度,SWT能够突出显示具有特定宽度特征的结构,从而将文字区域与背景分离。 在C++中实现SWT,通常涉及以下步骤: 1. **预处理**:首先,对输入图像进行预处理,包括灰度化、二值化...
### SWT Table单元格编辑功能详解 在Java图形用户界面(GUI)开发中,SWT...通过以上步骤,我们可以在SWT `Table`控件中实现单元格的编辑功能,使用户能够直接在界面上修改数据,提高了应用的交互性和实用性。
- **SWT.MenuDetect**:选中菜单时 - **SWT.Modify**:文本修改时 - **SWT.MouseDoubleClick**:双击鼠标时 - **SWT.MouseDown**:鼠标按下时 - **SWT.MouseEnter**:鼠标进入时 - **SWT.MouseExit**:鼠标离开时 - ...
#### 一、SWT简介与配置的重要性 SWT(Standard Widget Toolkit)是一种用于构建基于Java的应用程序的图形用户界面工具包。它提供了丰富的控件集,并能够生成本地外观和感觉的界面,这使得应用在不同的平台上拥有...