Eclipse开发经典教程之TreeViewer组件

TreeViewer构建步骤

TreeViewer中主要通过内容提供器(ITreeContentProvider)和标签提供器 (ILabelProvider)组织树节点的内容和显示的信息。TreeViewer的构建步骤如下。

1. 创建TreeViewer对象,例如“TreeViewer tv = new TreeViewer(composite);”。

2. 设定内容管理器,例如“tv.setContentProvider(new FileTreeContentProvider()); ”。

3. 设定标签提供器,例如“tv.setLabelProvider(new FileTreeLabelProvider());”。

4. 设定TreeViewer的输入数据,例如“tv.setInput("root");”(用户可以通过输入数 据构建树)。

TreeViewer内容提供器

TreeViewer的内容提供器(ITreeContentProvider)构建树中比较复杂的部分,它为树的 显示提供了内容,内容提供器要实现的方法如下。

1. getElements

此函数定义为“public Object[] getElements(Object inputElement);”,当程序开始 构建树时,首先调用getElements返回一个对象的数组,此数组对象表示当前树的根节点, inputElement参数为TreeViewer的输入(setInput的输入数据)。

2. hasChildren

此函数定义为“public boolean hasChildren(Object element);”,当TreeViewer显示 一个节点后,会调用hasChildren函数判断当前节点是否有子节点,如果有子节点则显示“+ ”,element参数为要判断是否有子节点的节点。

3. getChildren

此函数定义为“public Object[] getChildren(Object parentElement);”,当用户选择 节点打开子节点时,会调用getChildren函数返回下一层子节点,parentElement参数为选择 的节点。

4. getParent

此函数定义为“public Object getParent(Object element);”,可以通过此方法返回 element的父节点。

5. inputChanged

此函数定义为“public void inputChanged(Viewer viewer, Object oldInput, Object newInput);”,当输入改变时调用此方法。

时间: 2024-10-29 10:13:14

Eclipse开发经典教程之TreeViewer组件的相关文章

Eclipse开发经典教程之SWT布局

在Java中,GUI程序开发的目标之一是跨平台,而每种类型操作系统对屏幕的定义不一样 ,所以Swing中引入了布局的概念,对子组件的位置和大小等信息进行定义.SWT中也采用了 布局方式,用户可使用布局来控制组件中元素的位置和大小等信息. 另外,如果组件 没有设置布局信息,也可以通过坐标进行相对定位.在介绍Control类的时候,其中有一个方 法"setBounds (int x, int y, int width, int height)"可以指定组件相对于 父组件的位置和组件的大小.

Eclipse开发经典教程之展现组件

SWT中还有一些常用的组件,它们可以使组件更有表现力,且称之为展现组件,它们在SWT 开发中也是不可缺少的,包括菜单组件.工具栏组件ToolBar和ToolItem.工具栏组件 CoolBar和CoolItem.滚动组件Slider.刻度组件Scale和进度条组件ProgressBar等. 菜单组件 在程序中,菜单是提供信息比较好的方式,SWT中通过Menu和MenuItem实现菜单和菜单项 ,在程序中添加菜单的步骤如下. (1)创建Menu对象,并指定创建的样式,例如"menuBar = ne

Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法_php实例

本文实例讲述了Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法.分享给大家供大家参考,具体如下: 同时公司又要开发一个群组功能..我也就想运用一下Zend_Form来实现创建群组的功能.主要还是看中Zend_Form可以在写Form时候.实现服务器端的验证功能..省得我们在把数据提交到数据库的时候再验证一次..所以呢.我就看了一下这方面的手册..通过Zend Framework手册找到了相关的使用说明...最简单的使用方式就是在控制器(Controller

Zend Framework入门教程之Zend_View组件用法示例

本文实例讲述了Zend Framework入门教程之Zend_View组件用法.分享给大家供大家参考,具体如下: Zend_View组件可以实现MVC模式中视图部分的代码与Model和Controller部分的分离. 使用步骤:首先在Controller中建立一个Zend_View实例,并将需要的变量传递给它:之后,Controller通知Zend_View显示一个特定的视图, 生成View输出的内容. 实例之控制器代码脚本: <?php //使用模型来获取书籍作者和标题相关数据 $data =

Eclipse开发经典教程之常用SWT组件

在介绍组件之前,有必要介绍一下Control类.Control类是一个抽象类,它是所有窗口组 件(即在Windows中能获得句柄的部件)的基类. Control类的继承关系 Control类是为继承而设计的,所有窗口组件都继承于Control类,如图1所示. 开发经典教程之常用SWT组件-swt组件"> 图1 Control类的继承关系 Control的一个实例代表Windows中的一个窗口组件,它中有窗口名柄属性,但是在程序中 不能够直接访问. Control类的常用方法 Control

android开发教程之view组件添加边框示例_Android

给TextureView添加边框(专业名词为描边),有三种解决方案: 1.设置一个9 patch 的,右边框,中间是空的PNG. 2.自定义一个View,用Canvas画个边框. 3.用Android提供的ShapeDrawable来定义一个边框. 个人比较建议采用第三种方式,原因是因为第三种只要写XML,速度快,占用资源小,代码编写量也少,便于维护. 使用方法如下: 1.定义一个background.xml文件. 复制代码 代码如下: <?xml version="1.0" e

Eclipse开发经典教程之常用快捷键

想成为编程"高手"吗?如果说有捷径的话,不妨花点时间在Eclipse快捷键的使用上. 作为一个使用Eclipse进行Java开发的编程"高手",一些常用的快捷键是必须掌握的,它不 但能够大大加快程序编写.调试和定位Bug的速度,还能让领导感觉到你的"打字速度",何 乐而不为呢?尝试一下全键盘操作的魅力吧. 本节将从笔者的亲身经验总结出一些快捷键,并对快捷键进行分类,而且按笔者的喜好进 行排列,并加上相关的解释,希望读者能用心去体会. 编辑相关快捷

Eclipse开发经典教程之插件安装

Eclipse 是一个开源的.可扩展的集成开发环境,已经吸引了业界的很多注意力,而且 Eclipse 的支持者源源不断.Eclipse有着非常强大的功能,对于编码.调试.重构.单元测 试等都提供了完美的实现. Eclipse 可以与任何一种IDE匹敌,甚至比它们还要好.Eclipse 有代码补足.代码模板 的功能,以及对重构.Ant.CVS 和 JUnit 的支持.除了这些基本功能之外,Eclipse 的优 点之一就是它的源代码是开放的,可扩展性很好,可以扩充很多插件,开源插件和商业插件 都可以

Zend Framework入门教程之Zend_Config组件用法详解_php实例

本文实例讲述了Zend Framework中Zend_Config组件用法.分享给大家供大家参考,具体如下: 1.从PHP数组中读取数据 使用Zend_Config_Ini(读取ini配置文件) Zend_Config_Xml(读取XML配置文件) 案例: <?php require_once("Zend/Loader.php"); Zend_Loader::loadClass('Zend_Config'); $array = array( 'webhost' => '12