第一范文网 - 专业文章范例文档资料分享平台

Eclipse RCP开发桌面程序

来源:用户分享 时间:2025/6/5 5:25:47 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

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开发桌面程序 的文档
Eclipse RCP开发桌面程序.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3uu969skzm6ksx798r94_10.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top