文档章节

Eclipse插件开发有关进度显示

素人派
 素人派
发布于 2016/12/31 20:44
字数 339
阅读 16
收藏 0
  • 介绍
在Eclipse插件开发中,经常会遇到进度的问题,是否要给用户显示?显示进度的合理方式是什么? 在Eclipse中会有很多种显示进度信息的方法与位置,这也充分说明了进度信息的重要性。
  • org.eclipse.jface.operation.IRunnableWithProgress
所有可能会执行时间比较长的过程都应该实现这个接口。
  • org.eclipse.jface.dialogs.ProgressMonitorDialog
该对话框用于显示执行进度,要和接口IRunnableWithProgress配合使用。下面是代码片段: [codesyntax lang="java"]
try {
	boolean fork = false; //是否要使用新的线程(而不是界面主线程)运行
	boolean cancelable = false; //是否可以取消
	new ProgressMonitorDialog(shell).run(fork, cancelable, new IRunnableWithProgress() {
		
		@Override
		public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
			System.out.println("running for long time.");
		}
	});
} catch (InvocationTargetException e) {
	e.printStackTrace();
} catch (InterruptedException e) {
	e.printStackTrace();
}
[/codesyntax]
  • org.eclipse.ui.progress.IProgressService
下面是进度服务的使用代码片段: [codesyntax lang="java"]
IProgressService progressService = PlatformUI.getWorkbench().getProgressService();
try {
	//该方法会在非用户界面(UI)线程中执行
	progressService.busyCursorWhile(new IRunnableWithProgress() {
		
		@Override
		public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
			System.out.println("running for long time.");
		}
	});
	
	boolean fork = false;
	boolean cancelable = false;
	progressService.run(fork, cancelable, new IRunnableWithProgress() {
		
		@Override
		public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
			System.out.println("running for long time.");
		}
	});
} catch (InvocationTargetException e) {
	e.printStackTrace();
} catch (InterruptedException e) {
	e.printStackTrace();
}
[/codesyntax]
  • org.eclipse.jface.operation.IRunnableContext
该接口中有一个run方法,而接口org.eclipse.jface.wizard.IWizardContainer继承了IRunnableContext,所以在向导中使用进度条的话,也可以调用run方法。 未完待续。。。

本文转载自:http://surenpi.com/2016/05/30/eclipse_pluin_dev_about_progress/

上一篇: 继电器
素人派
粉丝 26
博文 1907
码字总数 10223
作品 6
东城
程序员
私信 提问
更新日志 - BugHD iOS 客户端上线

中秋、十一长假归来,“满血复活”的我们做了 fir.im 和 BugHD 的优化更新:) BugHD 新增功能 1.iOS 客户端上线 BugHD iOS 客户端上线了,你可以随时随地查看应用崩溃状况。如果需要精确看到崩...

风起云飞fir_im
2015/10/09
69
0
开发笔记17 | 在线 URL 方式安装 Alibaba Cloud Toolkit

通过 Clout Toolkit 官方地址安装 如果您无法连接 Eclipse Market 服务器,请选择这种安装方式。 启动 Eclipse。 在菜单栏中选择 Help > Install New Software。 在 Available Software 对话...

银时
2018/11/28
0
0
使用 Eclipse 作为 Jakarta Tomcat 的开发环境

使用 Eclipse 作为 Jakarta Tomcat 的开发环境 一种快速集成 Eclipse 和 Tomcat 的方法

jimbuster
2007/04/27
0
0
Zend Studio使用教程:将Zend Studio作为插件安装

Zend Studio是新一代的专业级智能PHP IDE,它旨在帮助开发人员提高工作效率,创造出高品质的PHP应用程序!它包含了PHP开发所必须的部件,通过一整套的编辑、调试、分析、优化和数据库工具,Z...

Miss_Hello_World
2016/06/01
49
0
平台搭载问题

我按照本站的教程已经下载了3个需要的文件包,目前正在安装中 =============================================================================== 1.3 eclipse设置 当然,以上都搞定后,还不...

sineika
2011/05/02
259
4

没有更多内容

加载失败,请刷新页面

加载更多

Android 图片加载带进度条的ImageView

https://blog.csdn.net/shu_quan/article/details/79975578

shzwork
4分钟前
2
0
关于XAMPP默认端口80 和443被占用的问题

本文转载于:专业的前端网站➩关于XAMPP默认端口80 和443被占用的问题 关于安装xampp-win32-1.8.1-VC9-installer.zip后启动时候报端口80和443被占用的问题解决 xampp-win32-1.8.1-VC9-instal...

前端老手
6分钟前
2
0
错误Setting the parent of a transform which resides in a Prefab Asset is...

错误日志 Setting the parent of a transform which resides in a Prefab Asset is disabled to prevent data corruption 原因1 用Resouce.Load加载一个prefab,没有实例化直接设置parent ......

XBlock
7分钟前
2
0
Spring boot 配置mybatis

当然任何模式都需要首先引入mybatis-spring-boot-starter的pom文件,现在最新版本是1.1.1(刚好快到双11了 :)) <dependency>    <groupId>org.mybatis.spring.boot</groupId>    <......

雷开你的门
7分钟前
4
0
云栖干货回顾 | 更强大的实时数仓构建能力!分析型数据库PostgreSQL 6.0新特性解读

阿里云 AnalyticDB for PostgreSQL 为采用MPP架构的分布式集群数据库,完备支持SQL 2003,部分兼容Oracle语法,支持PL/SQL存储过程,触发器,支持标准数据库事务ACID。AnalyticDB PG通过行存...

开源中国小二
19分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部