瞎扯plug-in

 

Plug-in

l  概念

Eclipse是一个内核很小,插件机制很强大的开发平台,它本身就由众多插件组成,plug-in开发就是利用eclipse的插件机制开发出强大的插件的过程。最常见的插件开发是开发ViewEditor,然后扩展到Menu BarTool Bar的开发,深的开发自己的Perspective等等。

l  Plug-in过程

创建只有一个视图,功能是显式特定位置的文件的结构信息的插件说明plug-in的开发过程。

1.         新建插件项目

新建eclipse项目时选择plug-in project,按照wizard录入项目名:com.kxd.forfun,然后按照wizard走完。

2.         设置插件依赖和扩展点

打开META-INF文件夹下的MANIFEST.MF文件,在dependencies编辑页中点击添加org.eclipse.ui.views(开发eclipse视图插件必需依赖该插件,这就是插件开发中添加插件依赖的过程);在extensions编辑页中点击“Add”按钮添加org.eclipse.ui.views,在添加进的扩展点上右击,new一个view,设置

idcom.kxd.forfun.fileView

namefileView

classcom.kxd.forfun.views.FileExplorerView;(这是插件开发中设置扩展点的过程)。

3.         写插件代码

该插件中主要编写FileExplorerView这个类的代码。该类必需继承自ViewPart,重写createPartControl(Composite parent)这个方法。

4.         设置插件输出内容

插件的输出设置主要是放出可以的接口等资源,供他人在插件开发过程中使用,既所谓“贡献”。该项目中暂时无可贡献出来的包,这里无需设置。

5.         打包发布

右击项目选择“Export”,在Plug-in Development中选择“Deployable features”将项目打包成标准的eclipse插件(包含featuresplugins两个文件夹),也可以选择“Deployable plug-ins and fragments”将项目打包成一个无插件声明的插件包(只有plugins一个文件夹)。

l  SWT/JFace

1.         组件

SWT一般组件:ButtonLabelTextComboList

SWT其他组件:ToolBarToolItemViewForm

                   JFace组件:TableViewerTreeViewerListViewerDialog

组件是一个界面内的最小组成部分,通常用到的组件如按钮,录入框等等,它必须存在于一个容器内。

使用:new Control(Composite parent,int style)

Control”是组件名,可以上面列的任意组建;“Composite”是该组件存在的容器;“style”是组件的表现式样,如:SWT.NONESWT.CENTER

组件常用的方法:setText(String str)setImage(Image image)

setEnable(Boolean enabled)等等,用来设置组件的显示名称,显示图片,能否使用等功能。

2.         容器

CompositeGroupTabFolderSashFormScrolledComposite

容器是组件和容器的载体,可以在容器上添加容器和组件。

使用:new Composite(Composite parent,int style),基本与组件类似。

3.         布局管理器

FillLayout:充满式,组件的大小会尽量的充满整个容器

RowLayout:行列式,简单的排列组件

GridLayout:网格式

StackLayout:表格式,通过创建组件各个边的距离来布局组件

Formlayout:堆栈式,像书页一样,只显示最前面的组件

布局管理器定义组件在容器的摆放样式。

使用:composite.setLayout(new FillLayout ()),这样设置了面板“composite”的样式为充满式。

4.         事件模型

事件模型用来响应事件。

用法:     button.addMouseListener(new MouseAdapter(){

                            Public void mouseDoubleClick(MouseEvent e){

                                      //TODO双击事件响应代码

}

})

这样就给button组件增加了一个鼠标双击事件响应。

         5TreeViewer

                   使用:TreeViewer  treeViewer = new TreeViewer(Composite parent,int style)

                              treeViewer.setContentProvider(contentProvider);

                              treeViewer.setLabelProvider(labelProvider);

                              treeViewer.setInput(inputObj);

         需要调用这三个方法来展现一棵树,“setContentProvider(contentProvider)”方法设置树的内容显示器,内容显示器将输入内容进行处理,将输入内容分割成为各个树节点,并处理节点间的关系;“setLabelProvider(labelProvider)”方法设置树的标签器,标签器处理树节点的显示,包括显示内容,显示图片等;“setInput(inputObj)”设置树的起始输入内容,这个内容将在内容显示器内被处理。

         SWT/JFACE组件是做界面必定会接触到的,只要能够用TreeViewer实现一棵树,并实现一些相应的双击,单击等事件,也就基本掌握了SWT/JFACE

l 

做插件开发必然会接触到EMF等框架,理解这些框架才是最重要的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值