首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

SWT/JFace 扩充ApplicationWindow的StatusLineManager

2012-12-27 
SWT/JFace 扩展ApplicationWindow的StatusLineManager在使用JFace时,如果继承ApplicationWindow对象,你就

SWT/JFace 扩展ApplicationWindow的StatusLineManager
在使用JFace时,如果继承ApplicationWindow对象,你就能立即获得一个含菜单(MenuManager),工具栏(ToolBarManager)、状态栏(StatusLineManager)的应用窗口。

本文主要介绍如何扩展状态栏(StatusLineManager),有时候我们会在状态栏中加入:当前登录用户信息、内存使用信息等等小控件。

当继承ApplicationWindow对象并实现一下方法后,即可创建状态栏(StatusLineManager)

@Overrideprotected StatusLineManager createStatusLineManager() {statusLineManager = new StatusLineManager() {@Overridepublic void setErrorMessage(String message) {if (statusLineManager != null) {statusLineManager.setErrorMessage(ImageFactory.get(Constants.ERROR_IMAGE_KEY), message);}}@Overridepublic void setMessage(String message) {if (statusLineManager != null) {statusLineManager.setMessage(ImageFactory.get(Constants.SUCCESS_IMAGE_KEY), message);}}};        return statusLineManager;    }


只要从StatusLineManager对象中获取Control便能扩展,伪代码如下:
final Composite statusComposite = (Composite)statusLineManager.getControl();final Composite composite = new Composite(statusComposite, SWT.LEFT_TO_RIGHT);GridLayout gl = new GridLayout(1, false);gl.marginHeight = 1;composite.setLayout(gl);CLabel label = new CLabel(composite, SWT.NONE);label.setText("当前登录用户...");


效果图见附件。

1 楼 宏基小键盘 2012-02-19   这个好象是不行的吧,statusLineManager.getControl()已经有三个子控件了,一个是CLabel,一个是ToolBar,一个是Compasite,现在再加一个,位置会乱的。能分享一下图片效果的源码吗? 2 楼 brofe 2012-02-24   宏基小键盘 写道这个好象是不行的吧,statusLineManager.getControl()已经有三个子控件了,一个是CLabel,一个是ToolBar,一个是Compasite,现在再加一个,位置会乱的。能分享一下图片效果的源码吗?


图片就在附件啊。。

热点排行