java - 如何将进度监视器传递给多个子程序?

标签 java eclipse eclipse-plugin eclipse-rcp progressmonitor

假设我有一个 API 方法,旨在执行长期操作,因此接收监视器作为参数,如

org.eclipse.ui.part.EditorPart.doSave(IProgressMonitor monitor)

如果我在此方法中需要执行单个操作,我会编写代码,例如写入图像

imageFile.create(imageInput, false, monitor);

但是如果我在单个 doSave 中执行多个长期子例程会怎样?如何使该监视器的测量值分别为 50% 或其他值?

imageFile.create(imageInput, false, monitor);
descriptionFile.create(descriptionInput, false, monitor);

最佳答案

每次调用方法时使用SubProgressMonitor:

monitor.beginText("task", 100);

imageFile.create(imageInput, false, new SubProgressMonitor(monitor, 50));

descriptionFile.create(descriptionInput, false, new SubProgressMonitor(monitor, 50));

为所有子进度监视器指定的“tick”计数总和应与 beginTask 调用中指定的“tick”计数相匹配。

关于java - 如何将进度监视器传递给多个子程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21984562/

相关文章:

java - Swing 中线程 "AWT-EventQueue-0"NullPointerException 错误

java - Java中的日期列表递增方法

java - 无明显原因的空指针异常

java - 缺少 Artifact com.oracle :ojdbc7 in eclipse

Eclipse:多个监视器/对话框定位

Java 线程转储 CPU 还是只是 IO 等待?

java - "Faceted Project Problem (Java Version Mismatch)"错误信息

java - 从项目代码中遍历xtext ast

Eclipse Oxygen 插件缺少约束 : Import-Package

java - 如何重新使用一些 "Eclipse IDE plugins"创建 Eclipse RCP 应用程序?