0 0

Eclipse插件开发,Treeviewer 绑定数据0

Eclipse插件开发,Treeviewer 怎么绑定数据,
怎么和DataModelProvider相结合,使用

DataModelProvider 有绑定其他控件的方法:如Text文本控件
synchHelper.synchText(tp,
SampleProjectCreationDataModelProvider.PACKAGE, null);

但是没有绑定直接绑定Treeviewer 的方法。

怎么用DataModelProvider绑定Treeviewer中数据?

3个答案 按时间排序 按投票排序

0 0

采纳的答案

TreeViewer tv = new TreeViewer(c, SWT.BORDER);
tv.setContentProvider(new MyContentProvider());
tv.setLabelProvider(new MyLableProvider());


使用TreeViewer的ContentProvider、LabelProvider设置来解决。
不过需要自己实现这两个provider,就类似数据、标签的数据提供者

2013年4月23日 09:01
0 0

找了个别人写的例子,供你参考

/**
     * 内容提供器。由它决定那些对象应该输出在TreeViewer里显示
     */
    private static final class MyContentProvider implements ITreeContentProvider {
        /**
         * 由这个方法决定树的顶级显示那些对象。在此方法里生成了三个Country对象
         * @param inputElement  用tv.setInput()方法输入的那个对象,在这里没有使用这个对象
         */
        public Object[] getElements(Object inputElement) {
            String[] obj = new String[3];
            obj[0] = "中国";
            obj[1] = "美国";
            obj[2] = "英国";
            return obj;
        }

        /**
         * 由这个方法决定结点应该显示那些子结点。在这里也不管父结点是什么,每个结点都统一有三个字结点
         * @param parentElement 被点击的结点(父结点)
         */
        public Object[] getChildren(Object parentElement) {
            String[] obj = new String[4];
            obj[0] = "桂林";
            obj[1] = "北京";
            obj[2] = "纽约";
            obj[3] = "伦敦";
            return obj;
        }

        /**
         * 判断某结点是否有子结点。在这里不管3721,全返回真,即都有子结点。这时结点前都有一个“+”号图标
         * @param element 需要判断是否有子的结点
         */
        public boolean hasChildren(Object element) {
            return true;
        }

        /**
         * 取得某结点的父结点。极少需要实现此方法
         */
        public Object getParent(Object element) {
            return null;
        }

        /**
         * 当TreeViewer被销毁时将执行这个方法。极少需要实现此方法
         */
        public void dispose() {}

        /**
         * 当tv.setInput()发生变化时调用此方法。极少需要实现此方法
         */
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
    }

    /**
     * 标签提供器。主要负责每一单个对象在TreeViewer中的显示(文字、图象)
     */
    private static final class MyLableProvider implements ILabelProvider {

        /**
         * 显示什么图片
         * @param 结点
         * @return 可以为null值
         */
        public Image getImage(Object element) {
            //            ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
            //            return sharedImages.getImage(ISharedImages.IMG_OBJS_WARN_TSK);
            return null;
        }

        /**
         * 显示什么文字
         * @param 结点
         * @return 不能为null值 
         */
        public String getText(Object element) {
            return (String) element;

        }

        public void addListener(ILabelProviderListener listener) {}

        public void dispose() {}

        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        public void removeListener(ILabelProviderListener listener) {}
    }

    /**
     * 标签提供器。如果你赚上面的MyLableProvider那些没用的方法碍眼,
     * Eclipse中有一个ILabelProvider的缺省实现LabelProvider,继承它也行
     */
    //    private static final class MyLableProvider extends LabelProvider {
    //        public String getText(Object element) {
    //             return (String)element;
    //        }
    //    }
}

2013年4月23日 09:13
0 0

相关推荐

    eclipse rcp 插件开发学习笔记.pdf 1-14章

    - 创建Eclipse插件项目,理解MANIFEST.MF和plugin.xml文件的作用。 - 学习如何编写激活类(Activator)和定义插件依赖。 8. **第11章 操作(Actions)**: - 创建和注册Action,将它们与菜单、工具栏或快捷键...

    java 开发视图插件(View) eclipse

    对于初学者来说,理解Eclipse插件架构、掌握SWT和JFace库,以及熟悉OSGi模块化系统都是必不可少的基础知识。同时,Eclipse社区提供了大量的文档和示例,可以帮助开发者更好地理解和实现视图插件。

    eclipse从入门到精通的treexiew代码

    首先,`TreeViewer`是Eclipse插件开发中的一个关键组件,它允许开发者在Eclipse环境中创建自定义的树状视图。这个视图可以展示数据模型,使用户能够以直观的方式浏览和操作复杂的数据结构。`TreeViewer`是基于SWT的`...

    RCP jface 数据绑定 例子和测试范例

    在"RCP jface 数据绑定 例子和测试范例"中,这个文件可能包含了一个使用数据绑定技术的`TreeViewer`示例。 5. **数据绑定API**: JFace的数据绑定API包括`Bindings`, `ValueProviders`, `Listeners`等,它们一起...

    Eclipse SWT,JFace开发实战精解 书中

    7. 插件开发:如果是在Eclipse RCP环境中,需要了解插件系统的基本概念,如Plugin、Extension Point和Extension。 通过阅读《Eclipse SWT,JFace开发实战精解》这本书,读者可以逐步掌握这些知识点,并通过实际项目...

    org.eclipse.jface.rar

    JFace在SWT的基础上添加了更多的抽象层,包括数据绑定、对话框、视图和表单组件等,降低了开发复杂UI的难度。 在这个压缩包中,我们可以看到"org.eclipse.jface"目录,这通常包含了JFace库的所有源代码包。这些源...

    SWT JFACE开发帮助文档(chm)

    8. **Eclipse插件开发**:如果打算将SWT和JFace应用于Eclipse插件开发,CHM文件可能会涵盖如何创建插件项目,定义扩展点,以及调试插件。 9. **API参考**:查找SWT和JFace类、方法和常量的详细文档,这对于理解和...

    SWT和JFace开发实例

    SWT(Standard Widget Toolkit)和JFace是Java中用于创建图形用户界面(GUI)的库,主要用于Eclipse插件开发和独立应用的构建。这两个库是Eclipse平台的重要组成部分,提供了一种高效、灵活的方式来创建丰富的桌面...

    Eclipse 3.6 API 含 SWT JFACE API

    Eclipse 3.6 API,也被称为Helios版本,是Eclipse开发平台的重要组成部分,它提供了丰富的编程接口供开发者构建强大的桌面应用程序,尤其是基于Eclipse Rich Client Platform (RCP)的应用。Eclipse RCP允许开发者...

    Eclipse Swt/Jface核心应用 (19-23章)

    12. **可扩展性与插件体系**:Eclipse平台基于插件架构,开发者可能会学习如何利用SWT和JFace创建可插拔的组件,以及如何与其他Eclipse插件交互。 通过深入学习这19至23章的内容,开发者将能够熟练地使用Eclipse ...

    Eclipse Swt/Jface核心应用 (14-19章)

    3. **视图和编辑器**:在Eclipse插件开发中,视图(View)和编辑器(Editor)是核心概念。视图通常用于显示应用程序的状态或提供工具,而编辑器则用于处理特定类型的文件或数据。第14章可能详细介绍了如何创建和管理...

    eclipse swt/jface核心应用源码

    SWT(Standard Widget Toolkit)是Eclipse的本机GUI库,而JFace是基于SWT构建的更高层次的抽象层,它简化了UI开发过程。 SWT是Java的一个图形用户界面库,它提供了一套与操作系统紧密集成的控件和API,如按钮、...

    Eclipse Swt/Jface核心应用 (01-03章)

    Eclipse SWT(Standard Widget Toolkit)和JFace是用于构建Java GUI应用程序的强大工具,它们与Eclipse IDE紧密集成,...在实际项目中,结合Eclipse的插件开发能力,SWT和JFace能帮助你构建出与IDE紧密集成的定制工具。

    JFace的源码,从官网下的

    JFace的源码分析可以帮助我们深入理解其内部工作原理,提高开发效率,特别是对于那些需要定制化Eclipse插件或者RCP(Rich Client Platform)应用的开发者来说,研究源码是非常有价值的。 首先,JFace的核心概念包括...

    SWT/JFace从入门到精通

    - 扩展Eclipse:学习如何创建Eclipse插件,将SWT/JFace应用到Eclipse插件开发中。 5. 关键概念 - Display:Eclipse中的主显示对象,所有SWT组件都必须在其上创建。 - Composite:SWT中的容器类,可以包含其他SWT...

    SWT/JFace 3.5 API (CHM)

    5. 视图和编辑器:JFace视图是Eclipse插件开发中的重要概念,用于展示数据;编辑器则用于编辑数据,两者都是Eclipse RCP(Rich Client Platform)应用的核心部分。 6. 对话框:包括标准对话框(如MessageDialog、...

    SWT/JFACE 资料

    6. 视图和编辑器:如何创建和使用JFace的视图和编辑器,以及如何在Eclipse插件开发中应用它们。 7. 对话框和消息提示:如何创建警告对话框、输入对话框等,以及如何使用SWT的消息提示功能。 8. 性能优化:如何利用...

    SWT/JFace专题 --- SWT/JFace概述

    SWT (Standard Widget Toolkit) 和 JFace 是两个在Java中用于构建图形用户界面(GUI)的重要库,尤其在开发Eclipse插件时被广泛应用。它们是开源项目,由Eclipse基金会维护,为开发者提供了丰富的控件和高级UI设计...

    JFace一些资料

    1. **《Eclipse SWT/JFace 开发实战精解》**:这本书深入介绍了如何使用SWT和JFace进行Eclipse插件开发,包含丰富的实例和实践指导。 2. **《SWT-JFace-3.4-zh-CN.chm》**:这是一份中文手册,详细讲解了SWT和...

Global site tag (gtag.js) - Google Analytics