`

树的事件展开收缩 多选

 
阅读更多

原来例子:Snippet61

 

public class Snippet61 {

	public static void main (String [] args) {
		Display display = new Display ();
		Shell shell = new Shell (display);
		shell.setLayout (new FillLayout ());
		final Tree tree = new Tree (shell, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL);
		for (int i=0; i<4; i++) {
			TreeItem item0 = new TreeItem (tree, 0);
			item0.setText ("Item " + i);
			for (int j=0; j<4; j++) {
				TreeItem item1 = new TreeItem (item0, 0);
				item1.setText ("SubItem " + i + " " + j);
				for (int k=0; k<4; k++) {
					TreeItem item2 = new TreeItem (item1, 0);
					item2.setText ("SubItem " + i + " " + j + " " + k);
				}	
			}
		}
		tree.addListener (SWT.Selection, new Listener () {
			public void handleEvent (Event e) {
				String string = "";
				TreeItem [] selection = tree.getSelection ();
				for (int i=0; i<selection.length; i++) string += selection [i] + " ";
				System.out.println ("Selection={" + string + "}");
			}
		});
		tree.addListener (SWT.DefaultSelection, new Listener () {
			public void handleEvent (Event e) {
				String string = "";
				TreeItem [] selection = tree.getSelection ();
				for (int i=0; i<selection.length; i++) string += selection [i] + " ";
				System.out.println ("DefaultSelection={" + string + "}");
			}
		});
		tree.addListener (SWT.Expand, new Listener () {
			public void handleEvent (Event e) {
				System.out.println ("Expand={" + e.item + "}");
			}
		});
		tree.addListener (SWT.Collapse, new Listener () {
			public void handleEvent (Event e) {
				System.out.println ("Collapse={" + e.item + "}");
			}
		});
		tree.getItems()[0].setExpanded (true);
		shell.pack ();
		shell.open ();
		while (!shell.isDisposed ()) {
			if (!display.readAndDispatch ()) display.sleep ();
		}
		display.dispose ();
	}
} 

 

《Eclipse插件笔记》P149,树中的SWT.FULL_SELECTION,也是其效果的,因为现在的书,是可以增加到多列的。从Eclipse3.1开始,TableTree和Tree的功能在Tree中都具有了,也就是说这里的Tree也可以使多列的。

《Eclipse插件笔记》P151,对于Expand和Collapse事件:是在树展开或折起的动作发生之后才发送出去的,因此无法试图通过将事件类TreeEvent的doit属性设置为false来取消这个动作。另外,调用TreeItem.setExpanded方法来展开或折起不会触发这个事件。



 

 

  • 大小: 4.6 KB
分享到:
评论

相关推荐

    Android 树形结构的多选CheckBox

    7. **UI设计**:为了提供良好的用户体验,可能还包含了自定义样式和动画效果,比如展开收缩动画,以及节点间的连线表示层次关系。 8. **适配器和视图复用**:在ListView或RecyclerView中,适配器是连接数据和视图的...

    zTree树形菜单展开收缩插件

    在本项目中,"zTree树形菜单展开收缩插件"是其核心应用,主要特性包括节点的动态展开与收缩,以及支持关键字模糊查询筛选功能。 1. **zTree基本概念** - **树形结构**:zTree展示的数据结构为树状,每一级节点可以...

    Android 多级部门树(支持无限级),支持部门级别多选

    - **动画效果**:使用过渡动画增强用户体验,如节点展开收缩时的平滑效果。 综上所述,这个"Android 多级部门树(支持无限级),支持部门级别多选"的资源涵盖了Android开发中关于树形结构、数据处理、UI设计和用户...

    jquery 树形收缩框架窗口例子

    本文将深入探讨如何使用jQuery实现一个树形收缩框架窗口,并提供相关的知识点。 首先,标题“jquery 树形收缩框架窗口例子”表明我们要讨论的是一个使用jQuery创建的树形控件,这种控件常用于展示层次化的数据,...

    详解vue-cli+element-ui树形表格(多级表格折腾小计)

    我们看到了如何基于当前列的索引(`index`)和列的属性(`column`)来决定如何渲染数据,同时,也看到了如何使用`@click`来绑定点击事件,以及使用`el-icon-plus`和`el-icon-minus`来表示展开和收缩的图标。...

    LayUI树形下拉多选选择器扩展包

    5. **事件监听**:提供多种事件回调,如节点展开、收起、选中、取消选中等,方便进行业务逻辑处理。 6. **API接口**:提供丰富的API接口,如获取选中值、设置选中值、刷新树结构等,便于开发过程中进行动态操作。 ...

    可多选的树形控件astreeview

    这包括设置节点的图标、文本、是否可选,以及节点间的展开收缩关系。 5. **自定义扩展**:开发者可以根据需求对AstreeView进行扩展,添加自定义功能,如搜索、过滤、排序等。这通常通过编写JavaScript或jQuery脚本...

    自定义Dialog简单解决多级菜单多选问题

    这个Dialog将包含一个可展开收缩的树状视图(TreeView),用于展示各级菜单,并支持多选功能。TreeView控件可以方便地展示层次化的数据,用户可以通过点击节点来展开或折叠子菜单,同时可以勾选节点以实现多选。 ...

    jQuery点击展开收缩树形菜单特效代码

    "jQuery点击展开收缩树形菜单特效代码"是利用jQuery实现的一种常见的UI设计模式,它能够使网站的导航菜单更加直观和用户友好。这种树形菜单在点击时可以展开或收缩,通常用于展示层级结构的数据,如网站的分类目录、...

    权限树选择特效

    1. `dtree.css`:这是用于定义权限树组件样式的CSS文件,包括节点的布局、颜色、字体、展开收缩图标等视觉元素。通过这个文件,我们可以定制权限树的外观以适应不同的UI设计需求。 2. `example.html`:这是一个HTML...

    动态数据加树多选左右切换插件

    在这个插件中,jQuery可能用于处理DOM元素的创建、更新和事件绑定,而JavaScript特效则可能涉及到树节点的展开、收缩、选中状态的改变等动态效果。 压缩包中的文件列表包括: 1. `index.html`:这是网页的主文件,...

    易语言树形框加入加强版

    开发者可以绑定函数来响应这个事件,实现如节点展开、收缩,或者其他用户交互功能。 5. **被选中(Selected)**: 被选中事件与“是否选中”相似,但可能更加注重于响应用户选择变化的事件。当用户改变树形框中...

    swing实现树形结构示例2枚

    示例代码可能会包含对节点展开、收缩、选择等事件的处理。例如,可以添加TreeWillExpandListener来控制节点展开时的行为,添加MouseListener或ActionListener来响应用户的点击操作。 6. **自定义渲染器**: 虽然...

    树形组合框控件 V1.1

    2. **事件驱动编程**:提供丰富的事件处理机制,如选中项改变、节点展开/折叠等,便于开发者编写交互逻辑。 3. **自定义节点**:允许用户自定义节点的图标、文字颜色等,增强信息表达能力。 4. **多选模式**:除了...

    经典JQuery 树

    6. **事件处理**:如节点点击、展开、收缩等,开发者可以通过绑定事件回调函数来实现特定功能。 7. **API接口**:提供丰富的API供开发者进行动态操作,如获取选中节点、获取父节点等。 "Kun"可能是一位开发者或者是...

    树结构zTree

    4. 自定义导航菜单:构建可展开收缩的多级导航菜单。 **六、zTree Demo示例** zTree的Demo示例可以帮助开发者快速理解和掌握其用法。通过实际操作,可以了解各种配置效果,以及如何结合后端数据实现动态加载。 ...

    artDialog ztree 弹框

    在zTree中,每个节点都可以包含图标、文本、状态等信息,用户可以通过点击、展开、收缩节点来探索树结构。 当"artDialog"与"ztree"结合时,可以创建一个在弹出窗口中显示树形结构的交互式对话框。例如,你可以用...

    JavaScript写的dhtmlXTree类库实现的各种树形列表示例demo

    这个类库基于ECMAScript标准,兼容主流的JavaScript开发环境,同时也支持现代浏览器,提供丰富的API和事件处理机制,使得开发者能够灵活地自定义树形节点的行为。 在"JavaScript写的dhtmlXTree类库实现的各种树形...

    jQuery树形节点标签菜单插件

    在本案例中,我们讨论的是一个名为"jQuery树形节点标签菜单插件"的工具,它专门用于创建具有下拉、展开、收缩功能的树形标签菜单。这个插件特别适合于构建用户界面,特别是在需要层级结构和单一选择的情况下。 首先...

    27款jQuery Tree 树形结构插件

    - 通过Ajax获取文件信息,可自定义展开/收缩事件和速度。 - 开源项目。 4. **CheckTree** - CheckTree 是带有复选框的jQuery Tree插件,适合需要多选功能的场景。 - 也是开源的。 5. **dhtmlxTree** - ...

Global site tag (gtag.js) - Google Analytics