Platform: Eclipse 3.2
Eclipse Plug-in开发离不开与用户的交互,我们往往把用户的鼠标点击之类动作所调用的代码包装成一个Action。例如,如果用户点击了一个Menu Item,那么绑定到这个Menu Item上的Action就会运行,这一切都很直观。但是有的时候,用户触发的操作可能需要很长时间才能完成,比如连接数据库,在这种情况下,就必须把鼠标的状态改为忙碌,这样就可以用沙漏手势提示用户当前操作正在进行,也避免了用户在等待当前操作的时候又去触发其他的操作。那么如何实现这一点呢?Eclipse有一个High-level的实现,也有一个Low-level的实现。因为后者非常简单,而且在大多数情况下也能满足需求,所以这里会介绍后者。
我们可以在org.eclipse.swt.custom包中找到一个BusyIndicator类,它的Java Doc说得好:Support for showing a Busy Cursor during a long running process。该类只有一个static的方法,让我们来看看它的签名:
<!---->
public static void showWhile(Display display, Runnable runnable)
其中,display参数指定了Busy Cursor应该显示在哪里,如果传入null,则默认使用当前线程的当前Display;runnable就是封装了我们要执行的操作的对象。这个方法会执行runnable中的操作,同时显示Busy Cursor,当runnable结束后,鼠标的状态就会恢复为正常。OK,让我们来看一个例子:
<!---->public class DoubleClickTreeNodeAction extends Action {
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.action.Action#run()
*/
public void run() {
// get Display from your own plug-in
BusyIndicator.showWhile(Activator.getDefault().getWorkbench()
.getDisplay(), new Runnable() {
public void run() {
performAction();
}
});
}
private void performAction() {
// connecting to database...
}
}
怎么样,是不是很简单呢?
分享到:
相关推荐
SWT无边框窗体实现鼠标拖动移动,并添加右键菜单关闭功能
SWT中文教程.rar/////SWT中文教程.rar
SWT插件中文教程SWT常用方法SWT插件中文教程SWT常用方法SWT插件中文教程SWT常用方法SWT插件中文教程SWT常用方法SWT插件中文教程SWT常用方法SWT插件中文教程SWT常用方法
使Excel嵌入到SWT窗口中 使用的Eclipse版本:3.3.1 使用的jdk版本:5.0
SWT配置 SWT配置 SWT配置 SWT配置 SWT配置 SWT配置 SWT配置 SWT配置
非常不错的java swt 中文文档
在swt开发中实现的一个小小的日历对话框,与文本框共同使用的,可以供大家参考,
java的鼠标键盘钩子程序swt实现,目前能找到的比较方现成的实现,用起来也比较方便。
Eclipse中SWT插件的安装Eclipse中SWT插件的安装
在SWT中使用OLE操纵Excel入门培训文档,里面整理了很多资源,下载的请使劲戳
rcp开发中用到的swt/Jface组件等 Swt.JFace.in.Action中文版
64位windows操作系统使用的SWT库
swt工具文档 swt工具文档 swt工具文档 swt工具文档 swt工具文档 swt工具文档
SWT examples,SWT官方例子:http://www.eclipse.org/swt/examples.php 该页面所要下载的例子 其中,swt的例子在\plugins\org.eclipse.swt.examples.source_3.7.0.v3740f.jar中
swt table 实现换行
swt中treeview和tableview实例,有助于理解这两个控件的使用。另外附带html页面。。可读性更强。
NULL 博文链接:https://wenhai.iteye.com/blog/697993
@描述 仿jQuery中的jquery-messager插件 ...@备注:因为喜好jQuery,又觉得swt中的弹出对话框写的麻烦,所以写这一个小东西。本人不是高手,勿骂。如果您也有兴趣,欢迎使用邮件交流。邮箱:haruno2005@163.com
swt教程 有关SWT怎么应用
java SWT 基本窗口 组件 开发