云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > Eclipse RCP开发桌面程序

Eclipse RCP开发桌面程序

  • 62 次阅读
  • 3 次下载
  • 2025/5/7 17:07:23

8 name=\ization\ 9 value=\10 11

可见,我们为我们的产品添加了一个prefereneCustomization属性,该属性的值为

plugin_customization.ini文件,在该文件中,我们可以配置我们的样式。在这里,它的内容如下:

1org.eclipse.ui/SHOW_TRADITIONAL_STYLE_TABS=false 2org.eclipse.ui/DOCK_PERSPECTIVE_BAR=topRight

事实上,在这个文件中可以定义的参数有上百个,大家可以查看Eclipse的文档。 这个时候,效果应该是这样的了:

好了,我们现在对以上的代码做一个总结。我不是写教科书,在Blog中也没有写得那么详细的条件。我们这里主要关注在哪个地方对代码进行扩展,可以达到我们想要的效果。比如,我们要创建视图,就是需要扩展org.eclipse.ui.part.ViewPart类,然后向其中添加控件,再然后配置plugin.xml文件,最后修改透视图的代码,以便它能够显示出来。

在ViewPart类中,我们添加控件的操作主要是在public void createPartControl(Composite parent)这个方法中进行,而方法最后会调用以下三个方法: createActions(); initializeToolBar(); initializeMenu();

从这三个方法的方法名我们不难看出,它们的功能是创建视图特有的菜单栏和工具栏的,结合上一小节的内容,我们应该很快就可以探索到怎么给视图添加漂亮的工具栏了,这里我不再罗嗦。

再来看Perspective.java,不难发现,所有的透视图类都需要实现IPerspectiveFactory接口,而该接口的createInitialLayout方法,就是描述工作台窗口中编辑器和视图的布局。默认情况下,透视图中只包含一个编辑器区域,就是我们第一节中看到的那个效果。在

createInitialLayou中,我们可以通过以下几个方法向透视图中添加视图、编辑器和菜单: addView —— 添加视图

addActionSet —— 添加菜单和工具栏

createFolder —— 创建一个IForderLayou,可以让多个视图重叠在同一个位置

写到这里,肯定有人会问,如果我要创建一个象Eclipse中的资源视图这样的视图,该怎么做呢?这我们就要感谢org.eclipse.jface.viewers包了,Viewer,这里翻译为查看器,它和视图是不一样的。JFace查看器是Jface对SWT部件的封装,它简化了我们对小部件的操作。在使用查看器的时候,它的数据使用单独的模型对象来保存,使用查看器的setInput方法可以为查看器设置模型,此外,在使用查看器的时候,需要为它提供ContentProvider(内容提供器)和LabelProvider(标签提供器)。

JFace查看器主要分为以下几类:

1. ListViewer: 对应于SWT的列表控件,目的是将列表中的元素映射至SWT列表控件 2. TreeViewer: 对应于SWT的树控件,提供树的展开和折叠等基本操作 3. TableViewer: 对应于SWT的表控件,映射表中的元素

4. TextViewer: 对应于SWT的StyledText控件,创建编辑器的时候,使用这个查看器是最合适不过了。

好了,介绍性的文字就写到这里,我想大家一定已经知道了探索的方向。下面,我们看一个简单的示例,就是这篇文章开头给出的效果图。它是我模仿医院管理系统做的一个简单例子,左边的视图就是使用了一个ListView查看器。这里给出它的关键代码: 1

public void createPartControl(Composite parent) {

2 3

4 viewer = new ListViewer(parent, SWT.BORDER);

5 viewer.setContentProvider(new PersonContentProvider()); 6 viewer.setLabelProvider(new PersonLabelProvider()); 7 viewer.setInput(new PersonModel()); 8

9 createActions(); 10 initializeToolBar(); 11 initializeMenu(); 12 }

可以看到,这里需要设置内容提供器和标签提供器和模型。下面,我们先创建一个病人类Person.java:

1package cn.blogjava.youxia.views; 2 3

public class Person {

4

5 private String name; 6 private String sex; 7

public String getName() {

8 return name; 9 } 10

public void setName(String name) {

11 this.name = name; 12 } 13

public String getSex() {

14 return sex; 15 } 16

public void setSex(String sex) {

17 this.sex = sex; 18 } 19 20}

下面,创建模型类PersonModel.java,在构造函数中我们向List中填入了几个初始化数据: 1package cn.blogjava.youxia.views; 2import java.util.ArrayList; 3 4

public class PersonModel {

5

6 private ArrayList list = new ArrayList(); 7 8

public interface Listener{

9 public void add(Person p); 10 public void remove(Person p); 11 }

搜索更多关于: Eclipse RCP开发桌面程序 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

8 name=\ization\ 9 value=\10 11 可见,我们为我们的产品添加了一个prefereneCustomization属性,该属性的值为plugin_customization.ini文件,在该文件中,我们可以配置我们的样式。在这里,它的内容如下: 1org.eclipse.ui/SHOW_TRADITIONAL_STYLE_TABS=false 2org.eclipse.ui/DOCK_PERSPECTIVE_BAR=topRight 事实上,在这个文件中可以定义的参数有上百个,大家可以查看Eclipse的文档。 这个时候,效果应该是这样的了: 好了,我们现

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com