0

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

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

如果我在这个方法中有一个操作要做,我会编写代码,例如,写一个图像

imageFile.create(imageInput, false, monitor);

但是,如果我在 single 中执行几个长期子例程doSave怎么办?如何使该监视器以 50% 或其他方式测量每个?

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

1 回答 1

2

每次调用都使用SubProgressMonitor以下方法:

monitor.beginText("task", 100);

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

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

beginTask提供给所有子进度监视器的“滴答”计数的总和应与调用中给出的“滴答”计数相匹配。

于 2014-02-24T10:27:37.317 回答