-
Eclipse插件开发,Treeviewer 绑定数据0
Eclipse插件开发,Treeviewer 怎么绑定数据,
怎么和DataModelProvider相结合,使用
DataModelProvider 有绑定其他控件的方法:如Text文本控件
synchHelper.synchText(tp,
SampleProjectCreationDataModelProvider.PACKAGE, null);
但是没有绑定直接绑定Treeviewer 的方法。
怎么用DataModelProvider绑定Treeviewer中数据?2013年4月22日 22:52
3个答案 按时间排序 按投票排序
-
采纳的答案
TreeViewer tv = new TreeViewer(c, SWT.BORDER); tv.setContentProvider(new MyContentProvider()); tv.setLabelProvider(new MyLableProvider());
使用TreeViewer的ContentProvider、LabelProvider设置来解决。
不过需要自己实现这两个provider,就类似数据、标签的数据提供者2013年4月23日 09:01
-
找了个别人写的例子,供你参考
/** * 内容提供器。由它决定那些对象应该输出在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
-
用的 jface?
http://www.rcp-vision.com/?p=948&lang=en
http://aquariusm.iteye.com/blog/12083542013年4月23日 08:49
相关推荐
- 创建Eclipse插件项目,理解MANIFEST.MF和plugin.xml文件的作用。 - 学习如何编写激活类(Activator)和定义插件依赖。 8. **第11章 操作(Actions)**: - 创建和注册Action,将它们与菜单、工具栏或快捷键...
对于初学者来说,理解Eclipse插件架构、掌握SWT和JFace库,以及熟悉OSGi模块化系统都是必不可少的基础知识。同时,Eclipse社区提供了大量的文档和示例,可以帮助开发者更好地理解和实现视图插件。
首先,`TreeViewer`是Eclipse插件开发中的一个关键组件,它允许开发者在Eclipse环境中创建自定义的树状视图。这个视图可以展示数据模型,使用户能够以直观的方式浏览和操作复杂的数据结构。`TreeViewer`是基于SWT的`...
在"RCP jface 数据绑定 例子和测试范例"中,这个文件可能包含了一个使用数据绑定技术的`TreeViewer`示例。 5. **数据绑定API**: JFace的数据绑定API包括`Bindings`, `ValueProviders`, `Listeners`等,它们一起...
7. 插件开发:如果是在Eclipse RCP环境中,需要了解插件系统的基本概念,如Plugin、Extension Point和Extension。 通过阅读《Eclipse SWT,JFace开发实战精解》这本书,读者可以逐步掌握这些知识点,并通过实际项目...
JFace在SWT的基础上添加了更多的抽象层,包括数据绑定、对话框、视图和表单组件等,降低了开发复杂UI的难度。 在这个压缩包中,我们可以看到"org.eclipse.jface"目录,这通常包含了JFace库的所有源代码包。这些源...
8. **Eclipse插件开发**:如果打算将SWT和JFace应用于Eclipse插件开发,CHM文件可能会涵盖如何创建插件项目,定义扩展点,以及调试插件。 9. **API参考**:查找SWT和JFace类、方法和常量的详细文档,这对于理解和...
SWT(Standard Widget Toolkit)和JFace是Java中用于创建图形用户界面(GUI)的库,主要用于Eclipse插件开发和独立应用的构建。这两个库是Eclipse平台的重要组成部分,提供了一种高效、灵活的方式来创建丰富的桌面...
Eclipse 3.6 API,也被称为Helios版本,是Eclipse开发平台的重要组成部分,它提供了丰富的编程接口供开发者构建强大的桌面应用程序,尤其是基于Eclipse Rich Client Platform (RCP)的应用。Eclipse RCP允许开发者...
12. **可扩展性与插件体系**:Eclipse平台基于插件架构,开发者可能会学习如何利用SWT和JFace创建可插拔的组件,以及如何与其他Eclipse插件交互。 通过深入学习这19至23章的内容,开发者将能够熟练地使用Eclipse ...
3. **视图和编辑器**:在Eclipse插件开发中,视图(View)和编辑器(Editor)是核心概念。视图通常用于显示应用程序的状态或提供工具,而编辑器则用于处理特定类型的文件或数据。第14章可能详细介绍了如何创建和管理...
SWT(Standard Widget Toolkit)是Eclipse的本机GUI库,而JFace是基于SWT构建的更高层次的抽象层,它简化了UI开发过程。 SWT是Java的一个图形用户界面库,它提供了一套与操作系统紧密集成的控件和API,如按钮、...
Eclipse SWT(Standard Widget Toolkit)和JFace是用于构建Java GUI应用程序的强大工具,它们与Eclipse IDE紧密集成,...在实际项目中,结合Eclipse的插件开发能力,SWT和JFace能帮助你构建出与IDE紧密集成的定制工具。
JFace的源码分析可以帮助我们深入理解其内部工作原理,提高开发效率,特别是对于那些需要定制化Eclipse插件或者RCP(Rich Client Platform)应用的开发者来说,研究源码是非常有价值的。 首先,JFace的核心概念包括...
- 扩展Eclipse:学习如何创建Eclipse插件,将SWT/JFace应用到Eclipse插件开发中。 5. 关键概念 - Display:Eclipse中的主显示对象,所有SWT组件都必须在其上创建。 - Composite:SWT中的容器类,可以包含其他SWT...
5. 视图和编辑器:JFace视图是Eclipse插件开发中的重要概念,用于展示数据;编辑器则用于编辑数据,两者都是Eclipse RCP(Rich Client Platform)应用的核心部分。 6. 对话框:包括标准对话框(如MessageDialog、...
6. 视图和编辑器:如何创建和使用JFace的视图和编辑器,以及如何在Eclipse插件开发中应用它们。 7. 对话框和消息提示:如何创建警告对话框、输入对话框等,以及如何使用SWT的消息提示功能。 8. 性能优化:如何利用...
SWT (Standard Widget Toolkit) 和 JFace 是两个在Java中用于构建图形用户界面(GUI)的重要库,尤其在开发Eclipse插件时被广泛应用。它们是开源项目,由Eclipse基金会维护,为开发者提供了丰富的控件和高级UI设计...
1. **《Eclipse SWT/JFace 开发实战精解》**:这本书深入介绍了如何使用SWT和JFace进行Eclipse插件开发,包含丰富的实例和实践指导。 2. **《SWT-JFace-3.4-zh-CN.chm》**:这是一份中文手册,详细讲解了SWT和...