定制SWT/RCP界面:如何编写一个漂亮的SWT/RCP界面 - 编程入门网
0) {
pixel.x = data.x + x;
pixel.y = data.y + y;
region.add(pixel);
}
}
}
return region;
}
public static void main(String[] args) {
String backImage="icons/back.gif";
final Display display = new Display();
final Shell shell = new Shell(display, SWT.NO_TRIM | SWT.ON_TOP);
//
Region region = getBackRegionFromImage(display, backImage);
//
shell.setRegion(region);
Rectangle size = region.getBounds();
shell.setSize(size.width, size.height);
//
ImageLoader loader = new ImageLoader();
ImageData[] imageData = loader.load(backImage);
Image image = new Image(null, imageData[0]);
shell.setBackgroundImage(image);
//
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
image.dispose();
region.dispose();
display.dispose();
}
定制SWT/RCP界面:如何编写一个漂亮的SWT/RCP界面(7)时间:2012-02-26 IBM 饶有清美化 RCP 界面 RCP 程序的 GUI 可简单看成一个窗体,窗体里有菜单,工具栏,状态栏,以及由视图和编辑器组成的 Page。 图 9. RCP Demo 其实 RCP 远比看起来要复杂,我们看到的其实是一个工作台 Workbench。Workbench 提供 UI 建造部件,使得 Eclipse 应用程序容易编写,使用,升级,扩展。Workbench 非常强大,它是一个基于 OSGi 的插件容器,里面定义了多达 42 个扩展点和大约 350 个 API 类,我们可以基于这些扩展点和提供的 api 创建自己需要的应用程序界面。 Workbench 包含一个或多个 WorkbenchWindows, WorkbenchWindows 是界面元素,里面包含了 Shell,窗口中包含菜单,工具栏,状态栏,以及 WorkbenchPage 等信息。WorkbenchPage 其实是一组视图和编辑器的组合,一个 WorkbenchWindows 可以有多个 WorkbenchPage(但是通常我们只有一个 WorkbenchPage),WorkbenchPage 可以含有多个透视图。WorkbenchPage,ToolsBar 和 StatusLine 都是 Control,我们可以定义其外形。WorkbenchWindows 还可以添加很多其他的控件,如示例中的按钮。除去菜单以外,我们可以定义窗体内所有 Control 的外形,包括 WorkbenchWindows。 图 10. RCP 用户界面组成 定制SWT/RCP界面:如何编写一个漂亮的SWT/RCP界面(8)时间:2012-02-26 IBM 饶有清注意我们不能定制 WorkbenchPage 中的视图和编辑器的外形,但是视图和编辑器中定义的 Control 可以,如 Button, Label, Link, ProgressBar, Sash, Scale, Scrollable, Slider 等。这些 Control 外形定制的方法跟前面 SWT 中介绍的一样。 Workbench 和 WorkbenchWindows 都是些内部类,我们想定制多边形窗体,并不能直接修改他们。不过我们可以继承 Eclipse 暴露出一些回调函数组成的 Advisor 来重载这些 Eclipse 定义好的回调函数来设置一些相关的信息。当 Workbench 和 WorkbenchWindows 启动运行是,这些回调函数就会被调用到。Workbench 的 Advisor 是 WorkbenchAdvisor,这是一个应用级别的建议者,Workbench 启动和关闭是被调用到,用来设置透视图等信息,跟 UI 没有太大关系。WorkbenchWindows 的 Advisor 是 WorkbenchWindowsAdvisor,WorkbenchWindowsAdvisor 比 WorkbenchAdvisor 承担了更多的 UI 方面的角色。我们基本上可以使用该 Advisor 来设 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |