快速业务通道

使用Eclipse RCP进行桌面程序开发(三):视图和透视图 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17

使用Eclipse RCP进行桌面程序开发(三):视图和透视图

时间:2011-04-13 海边沫沫

Eclipse RCP开发中,和用户进行交互最多的界面,应该是视图了,而透视图就是将已有 的视图、菜单、工具栏、编辑器等等进行组合和布局。看完这一节,我们就可以建立如下图 这样的程序界面了。

使用Eclipse RCP进行桌面程序开发(三):视图和透视图 - 编程入门网

首先我们来介绍一下视图,建立一个视图其实非常简单,只要从 org.eclipse.ui.part.ViewPart继承一个类,然后在plugin.xml中进行视图的配置。其中, 向视图中添加控件的操作,我们即可以手工编写,也可以使用Designer插件,我这里推荐大 家使用Designer插件,该插件对RCP提供功能非常强大的支持,如果使用Designer插件开发视 图,则plugin.xml文件也不需要我们手动修改了。

比如我们上图中的第一个视图,就是从ViewPart继承一个类,然后在上面加入了几个swt 的控件,做得非常得简单,而它的配置文件如下:

1<extension 2     point="org.eclipse.ui.views"> 3   <view 4      class="cn.blogjava.youxia.views.FirstView" 5      id="cn.blogjava.youxia.views.FirstView" 6      name="第一个View"/> 7</extension>

使用Eclipse RCP进行桌面程序开发(三):视图和透视图(2)

时间:2011-04-13 海边沫沫

可以看到,实现这个视图的class为cn.blogjava.youxia.views.FirstView,那么我们看 看FirstView.java吧:

1package cn.blogjava.youxia.views; 2 3import org.eclipse.jface.action.IMenuManager; 4import org.eclipse.jface.action.IToolBarManager; 5import org.eclipse.jface.viewers.TableViewer; 6import org.eclipse.swt.SWT; 7import org.eclipse.swt.widgets.Composite; 8import org.eclipse.swt.widgets.Label; 9import org.eclipse.swt.widgets.Table; 10import org.eclipse.swt.widgets.Text; 11import org.eclipse.ui.part.ViewPart; 12 13public class FirstView extends ViewPart { 14 15  private Table table; 16  private Text text_1; 17  private Text text; 18  public static final String ID = "cn.blogjava.youxia.views.FirstView"; // $NON-NLS-1$ 19 20  /** *//** 21   * Create contents of the view part 22   * @param parent 23   */ 24  @Override 25  public void createPartControl(Composite parent) { 26    Composite container = new Composite(parent, SWT.NONE); 27 28    final Label label = new Label(container, SWT.NONE); 29    label.setText("姓名:"); 30    label.setBounds(56, 41, 36, 12); 31 32    text = new Text(container, SWT.BORDER); 33    text.setBounds(98, 38, 80, 15); 34 35    final Label label_1 = new Label(container, SWT.NONE); 36    label_1.setText("性别:"); 37    label_1.setBounds(212, 41, 30, 12); 38 39    text_1 = new Text(container, SWT.BORDER); 40    text_1.setBounds(252, 38, 80, 15); 41 42    final TableViewer tableViewer = new TableViewer(container, SWT.BORDER); 43    //tableViewer.setInput(new Object()); 44    table = tableViewer.getTable(); 45    table.setBounds(56, 75, 374, 143); 46    table.setItemCount(10); 47    table.setLinesVisible(true); 48    // 49    createActions(); 50    initializeToolBar(); 51    initializeMenu(); 52      } 53

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号