定制 SWT/RCP 界面:如何编写一个漂亮的 SWT/RCP 界面
2010-04-26 00:00:00 来源:WEB开发网Workbench 和 WorkbenchWindows 都是些内部类,我们想定制多边形窗体,并不能直接修改他们。不过我们可以继承 Eclipse 暴露出一些回调函数组成的 Advisor 来重载这些 Eclipse 定义好的回调函数来设置一些相关的信息。当 Workbench 和 WorkbenchWindows 启动运行是,这些回调函数就会被调用到。Workbench 的 Advisor 是 WorkbenchAdvisor,这是一个应用级别的建议者,Workbench 启动和关闭是被调用到,用来设置透视图等信息,跟 UI 没有太大关系。WorkbenchWindows 的 Advisor 是 WorkbenchWindowsAdvisor,WorkbenchWindowsAdvisor 比 WorkbenchAdvisor 承担了更多的 UI 方面的角色。我们基本上可以使用该 Advisor 来设置每个工作台窗口的显示,如窗体风格、标题、工具栏、状态栏等。我们要实现多边形的 RCP 窗体,就是继承该类,重载其中的 postWindowCreate 和 createWindowContents 来实现的。
Eclipse 中的 OSGi 机制是通过 Equinox 来实现的。插件 org.eclipse.equinox.app 中定义了一个普通应用程序的启动的扩展点,Application 是它的一个扩展。下面是 RCP 启动的一个时序图:
图 11. RCP 启动时序图
查看原图(大图)
Application 调用 PlatformUI.createAndRunWorkbench 来创建一个工作台 . 工作台 Workbench 调用 WorkbenchAdvisor 来设置相关信息,创建 WorkbenchWindow。 WorkbenchWindow 又通过 WorkbenchWindowAdvisor 来设置窗口的一些信息。重载 preWindowOpen 来设置窗体风格;重载 createWindowContents 来创建窗体内的部件,如菜单、工具栏、状态栏、WorkbenchPage 等;重载 postWindowCreate 来设置窗体大小、外形。
- ››定制个性化的对话框窗口类
- ››定制 SWT/RCP 界面:如何编写一个漂亮的 SWT/RCP ...
- ››定制基于 Visual studio 2005 平台 Windows CE(AR...
- ››定制版黑雨 blackra1n 越狱3.1.2 全系 iPhone
- ››RCP客户端实现保存不同用户的界面状态
- ››定制 Eclipse RCP 应用程序,第 1 部分: 可与 SWT...
- ››SWT 全接触
- ››定制AIX操作系统的shell环境
- ››定制任务栏上的系统菜单
- ››SWT/JFace开发入门指南之搭建开发环境
- ››定制一个灵活的struts框架
- ››RCPII:扩展通用工作台补充—小的改进
更多精彩
赞助商链接