Eclipse RCP 开发中的进度条显示
来源:互联网 发布:全职主妇 知乎 编辑:程序博客网 时间:2024/05/20 04:11
进度条是构建良好的用户界面必备的组件之一,下面总结一下在基于 Eclipse RCP 开发应用程序时显示进度条的几种方法 :
- 使用 ProgressMonitorDialog 对话框
ProgressMonitorDialog 是用于显示进度条的对话框,它必须配合接口 IrunnableWithProgress 进行使 用, IRunnableWithProgress 定义了一个可监控进度的任务对象 , 针对具体的业务逻辑实现其 run(IProgressMonitor monitor) 方法即可,整个的用法如下代码所示:
view plaincopy to clipboardprint?
- ProgressMonitorDialog pmd = new ProgressMonitorDialog(window.getShell());
- IRunnableWithProgress rwp = new IRunnableWithProgress() {
- @Override
- public void run(IProgressMonitor monitor){
- //totalWork为IProgressMonitor.UNKNOWN时表示不知道任务的总量
- //将在进度条上显示一个来回移动的进度条
- monitor.beginTask("任务1" + "", IProgressMonitor.UNKNOWN);
- //TODO 相应的业务逻辑
- monitor.done();
- }
- }
- pmd.run(true, false, rwp);
方法 run(boolean fork,boolean canceled,IrunnableWithProgress p) 中,第一个参数 fork 表示是否在事件队列(即 UI 线程)中运行,如果设置为 false, 表示将在事件队列中运行,第二个参数 canceled 表示任务是否能够被取消。
执行 pmd.run(false, false, rwp) 时的进度条显示:
- 使用 RCP 平台的进度条服务 IProgressService ;
IProgressService 是 RCP 提供给客户程序执行一个耗时任务的方便快捷的方法,具体用法如下
1)执行非UI的操作时
view plaincopy to clipboardprint?
- IProgressService progressService = PlatformUI.getWorkbench().getProgressService();
- progressService.busyCursorWhile(new IRunnableWithProgress(){
- public void run(IProgressMonitor monitor) {
- // 非UI线程,只能进行非UI的操作
- }
- });
2)执行UI的操作时
view plaincopy to clipboardprint?
- progressService.runInUI(
- PlatformUI.getWorkbench().getProgressService(),
- new IRunnableWithProgress() {
- public void run(IProgressMonitor monitor) {
- // UI主线程,可进行UI操作
- }
- },
- Platform.getWorkspace().getRoot());
- 使用 Job 完成耗时任务将会自动显示一个进度条
Job 默认支持进度条的显示,启动一个Job时会自动打开一个进度条,如果Job调用了方法setUser(true),将会弹出一个进度条对话框表示是用户作业,如果setUser(true),则表示作业在后台运行,进度条将在进度条视图中运行。
- 在向导中实现进度条,调用方法如下:
IWizard w;
w.getContainer().run(fork, cancelable, runnable);
以上代码表示在当前向导页上运行一个可监控进度的任务;
- Eclipse RCP 开发中的进度条显示
- Eclipse RCP 开发中的进度条显示
- Eclipse RCP中的进度条
- Eclipse RCP开发中的常见问题
- Eclipse RCP 开发中的常见问题
- RCP 中的进度条
- 在eclipse rcp 开发中 动态的显示视图
- Eclipse RCP开发基础
- Eclipse RCP开发基础
- Eclipse RCP开发常见问题
- Eclipse RCP开发基础
- rcp(插件开发)Job 进度条
- Eclipse RCP 中的Iadaptable接口
- Eclipse RCP中的IAdaptable是什么?
- Eclipse RCP开发桌面程序
- Eclipse RCP开发桌面程序
- Eclipse RCP开发桌面程序
- Eclipse开发RCP(二)
- 女人和编程的关系
- 在Eclipse RCP 设置表格的行高、背景颜色以及字体等等
- EclipseRCP开发之如何让表格中的各列随表格的变化始终充满整个表格
- 作个笔记,关联表的查询条件要写在with()之中
- vertical-align表单元素垂直对齐
- Eclipse RCP 开发中的进度条显示
- 使用SSH证书(不要密码)登陆远程服务器
- [Visual C++系列] 3.6 MFC中所提供的各种视类介绍
- IIS HTTP 500--内部服务器错误
- 图标闪烁和显示时间的通用类
- Eclipse RCP 之屏蔽视图上的右键菜单
- vertical-align表单元素垂直对齐(2)
- 用户名限制输入特殊字符
- 报表源代码 winform c# -基于DexExpressXtraReport的打印报表,后台生成报表,winform版本,采用C#语言封装,比金质通更强大,现在开放源代码 .