如何获取Eclipse RCP中进度视图的文本内容?
Eclipse RCP 获取进度视图内容及运行中操作的方法
获取进度视图的默认提示文本
进度视图的默认提示文本("No operations to display at this time")由Eclipse内部的ProgressView类管理,没有公开的官方API直接获取。如果确实需要获取该文本,有两种依赖内部实现的方式(不推荐,版本升级可能失效):
- 读取Eclipse内部国际化资源文件:该文本通常定义在
org.eclipse.ui.internal.progress.messages资源包的ProgressView_noTasks键下 - 通过反射获取
ProgressView中显示提示的控件文本
查看当前正在运行的操作
监控并获取当前运行的操作(Job),可以通过注册JobListener实现,这也是你已经采用的方案:
通过Job.getJobManager()添加监听器,重写running方法即可捕获正在运行的Job实例,进而获取任务名称等信息,示例代码如下:
Job.getJobManager().addJobListener(new JobListener() { @Override public void aboutToRun(IJobChangeEvent event) {} @Override public void awake(IJobChangeEvent event) {} @Override public void done(IJobChangeEvent event) {} @Override public void running(IJobChangeEvent event) { Job runningJob = event.getJob(); // 打印或更新到自定义视图中 System.out.println("正在运行的任务:" + runningJob.getName()); } @Override public void scheduled(IJobChangeEvent event) {} @Override public void sleeping(IJobChangeEvent event) {} });
这种方式可以监控Job的全生命周期(调度、运行、完成等),适合在自定义视图中实时展示任务状态。
内容的提问来源于stack exchange,提问作者Windes
相关产品推荐
相关产品推荐

