Eclipse RCP应用系统开发方法与实战2-- 定制应用程序窗口属性(仅作自己参考)
2010-08-23 15:09
302 查看
[转]Eclipse RCP应用系统开发方法与实战2-- 定制应用程序窗口属性
5.1.4 定制应用程序窗口属性向导生成的应用程序主界面并不能满足要求,存在很多问题,例如,主界面运行时没有自动居中,主界面大小没有固定,主窗口标题栏文字应该是“高校经费测算系统”。再看看图5-3、图5-4的标题栏有区别没有?当然有,图5-3所示界面的标题栏是很漂亮的弧线形,而 图5-4所示界面的标题栏则不是。如此等等,需要重新设置。 1.闪屏画面应用程序主界面显示之前往往需要做一些初始化处理工作,就是启动时间可能稍微长一些,如果没有任何提示,用户可能会感到困惑,闪屏画面能够较好地解决这个问题。准备一幅24bit色BMP格式的图片,注意图片大小不要超过500mm×300mm。将该图片复制到 项目文件夹中替换掉原来的splash.bmp文件即可。 2.不保存窗口状态将ApplicationWorkbenchAdvisor.java的initialize()方法中的语句:configurer.setSaveAndRestore(true);修改为:configurer.setSaveAndRestore(false); 前文说过,设置为true,应用程序每次退出时将保存窗口状态,此处并不需要且对性能有轻微影响,所以设置为false。 3.定制窗口式样再来定制主窗口。前面已经介绍过,在ApplicationWorkbenchWindowAdvisor.java的preWindowOpen()方法中定制窗口式样,现在修改如下。cn.edu.jfcs.app/ ApplicationWorkbenchWindowAdvisor.java public void preWindowOpen() { IWorkbenchWindowConfigurer configurer = getWindowConfigurer(); //窗口设定为800x600 configurer.setInitialSize(new Point(800, 600)); //暂时不显示工具栏 configurer.setShowCoolBar(false); //显示状态栏 configurer.setShowStatusLine(true); //窗口只显示最小化、关闭按钮 configurer.setShellStyle(SWT.MIN | SWT.CLOSE); //设置窗口标题 configurer.setTitle("高校经费测算系统"); } 执行上步操作后,我们会发现configurer.setShellStyle(SWT.MIN | SWT.CLOSE)这句代码的旁边出现一个带红色叉叉的小灯泡,这意味着该行代码有问题,这是因为使用了SWT.MIN常量而又没有导入相应类。解决方 法很简单,只需鼠标单击小灯泡,根据弹出的提示导入包import org.eclipse.swt.SWT即可,这也是Eclipse很贴心的小功能。现在运行看看,程序主界面已经有了较大变化。 程序中最后一句代码中的“高校经费测算系统”是一个自定义常量。一个系统中有很多类似的自定义常量,例如图片的名称、视图的 名称等等,而这些常量可能不止一个地方需要使用到。一个很好的方法是创建一个接口文件,将全部常量的定义放置到该接口文件中,这样可以统一管理,而且维护 方便。如果要修改某个常量的值,只需要到接口文件中修改就可以了。下面来实现该处理,新建一个包cn.edu.jfcs.sys,在该包下新建接口类 IAppConstants.java,代码类似于以下形式。 package cn.edu.jfcs.sys; public interface IAppConstants { public static final String APPLICATION_TITLE="高校经费测算系统"; } 现在只需要将 ApplicationWorkbenchWindowAdvisor.java中preWindowOpen()方法的 configurer.setTitle("高校经费测算系统")修改为 configurer.setTitle(IAppConstants.APPLICATION_ TITLE)即可。记得导入cn.edu.jfcs.sys.IAppConstants类。
4.窗口自动居中窗口居中需要手工编程实现,编写之前先得想想代码放在哪儿?还是放在preWindowOpen()方法中吗?当然不行,preWindowOpen()是配置窗口的构成元素,即形成窗口本身的构成部件,而居中则是定义窗口的位置,显然不属于窗口构成元素。 postWindowOpen()可以胜任此项工作,因为postWindowOpen()主要用来处理那些需要一个现成窗口才能进行的事件处理。 在代码编辑视图中单击鼠标右键,在弹出的快捷菜单中选择【Source】→【Override/ Implement Methods…】命令,弹出“Override/Implement Methods”对话框,勾选postWindowOpen()方法,默认将在光标所在处插入postWindowOpen()方法。这又是 Eclipse的一个很贴心的功能,希望读者熟练使用。改写该方法的代码如下: cn.edu.jfcs.app/ ApplicationWorkbenchWindowAdvisor.java public void postWindowOpen() { //设置窗口自动居中 Shell shell = getWindowConfigurer().getWindow().getShell(); Rectangle screenSize = Display.getDefault().getClientArea(); Rectangle frameSize = shell.getBounds(); shell.setLocation((screenSize.width - frameSize.width) / 2,( screenSize.height - frameSize.height) / 2); } 该方法通过默认Display对象来设置屏幕宽度和高度,通过Shell对象获得当前窗口的宽度和高度,两者分别相减后再除以2,计算得到窗口左上角的(x ,y )坐标。不要忘了导入相关的类,再看看运行后窗口是否自动居中。 5.设置视图标题栏的弧线形外观大家肯定都喜欢图5-3所示界面中弧线形的标题栏,这种风格的标题栏涉及到工作台UI属性(org.eclipse.uiPreference):SHOW_TRADITIONAL_STYLE_TABS。可以通过三种方法进行设置。 (1)硬编码实现 硬编码实现是指通过直接编写代码实现。打开ApplicationWorkbenchAdvisor.java文件,修改initialize()方法代码如下: cn.edu.jfcs.app/ ApplicationWorkbenchAdvisor.java public void initialize(IWorkbenchConfigurer configurer) { super.initialize(configurer); configurer.setSaveAndRestore(false); PlatformUI.getPreferenceStore().setValue(IWorkbenchPreferenceConstants. SHOW_TRADITIONAL_STYLE_TABS, false); } 相关的属性很多,具体可以查看IWorkbenchPreferenceConstants接口文件。方法是,按住 【Ctrl】键,将鼠标移动到IWorkbenchPreferenceConstants上 面,IWorkbenchPreferenceConstants下面会出现下划线,单击鼠标左键即可。对于Eclipse的其他方法也是如此操作。这里 先简单介绍几个常用属性。 表5-4 IWorkbenchPreferenceConstants常见属性
可以创建一个初始化配置文件,使用默认的配置文件名plugin_customization.ini。在项目名称上单击鼠 标右键,选择【New】→【File】,在File name后输入plugin_customization.ini,单击【Finish】按钮,输入以下内容。 #设置视图标题栏的弧线形外观 org.eclipse.ui/SHOW_TRADITIONAL_STYLE_TABS=false #编辑器标题栏提示文字最短长度 org.eclipse.ui/ EDITOR_MINIMUM_CHARACTERS =12 (3)自定义配置文件 如果你不喜欢默认的配置文件,完全可以更改配置文件名(本书采用这种方法),具体步骤如下。 ① 双击pludin.xml文件,再单击“Extensions”页。 ② 展开org.eclipse.core.runtime.products,在jfcs(Product)上单击鼠标右键,选择【New】→【property】。 ③ 在Extension Element Details下的name后的文本框中输入属性名preferenceCustomization (属性名不能更改),value后的文本框中输入AppPref.ini(可任意命名),具体如图5-10所示。若要查看 org.eclipse.core.runtime.products有哪些可供配置的属性,则只需要单击 org.eclipse.core.runtime.products名,然后再单击右边的Open extension point description,Eclipse将打开关于Products扩展点的属性描述,如图5-11所示。注意到该属性默认的文件正是前面所说的 plugin_customization.ini。 图5-10 添加属性设置视图 图5-11 org.eclipse.core.runtime.products扩展点描述 ④ 在项目名称上单击鼠标右键,选择【New】→【File】,在File name后输入AppPref.ini,单击【Finish】按钮,输入配置内容即可。 这里提醒一下,如果做了很多设置,而运行时似乎没有生效,这是由于Eclipse缓存了旧配置信息。解决方 法:选择系统菜单的【Run】→【Run…】,弹出“Run”对话框,先单击“Eclipse Application”,再单击“jfcs”,勾选“Clean workspace data before launching”,不要勾选“Ask for confirmation before cleaning”。这样可以保证每次运行都是最新结果,设置画面如图5-12所示。 图5-12 运行设置对话框
|
相关文章推荐
- Eclipse RCP应用系统开发方法与实战2-- 定制应用程序窗口属性
- [转]Eclipse RCP应用系统开发方法与实战2-- 定制应用程序窗口属性
- Eclipse RCP应用系统开发方法与实战1-- RCP基本框架(自己觉得有用作为参考)
- 想实现自己的地理应用程序?建议参考<<使用Rails和Ajax开发Google地图应用程序>>
- 使用VS2010开发的MFC Ribbon应用程序运行后关闭了属性界面、输出界面、类视图、通知栏等再次恢复方法
- AI开发实战3-定制自己的Screen
- 【iOS开发-25】UIDevice查看系统信息,从一个问题開始怎样高速找到自己想要的属性和方法并看懂它
- SharePoint WebPart开发实战(一):定制属性及配置界面
- 【iOS开发-25】UIDevice查看系统信息,从一个问题开始如何快速找到自己想要的属性和方法并看懂它
- SharePoint WebPart开发实战(一):定制属性及配置界面
- AI开发实战2-定制自己的AI伴侣
- [转]Eclipse RCP应用系统开发方法与实战1-- RCP基本框架
- [JavaScript]使用jQuery定制开发自己的UI
- 3天搞定的小型B/S内部管理类软件定制开发项目【软件开发实战10步骤详解】
- WinCE下直接启动自己应用程序的方法
- unity3D游戏开发实战原创视频讲座系列12之U3D的2D开发新方法实战
- ios开发之oc与Swift混合编程OC进入Swift的类 以及Swift进入OC的方法-附带一个属性传值
- 自己开发asp.net服务器控件(1)-简单的属性声明
- 在Web应用程序开发过程中利用ASP.NET MVC框架的实战技巧
- APP开发实战162-减少预置图片所占空间大小方法汇总