我正在开发一个 java 组件,它需要在命令行和 Eclipse 作业中运行。执行可能需要几分钟,所以我想通知用户发生了什么。我不想在我的“纯”Java 代码中依赖于 Eclipse 进度监视器包。
如何在 Eclipse 作业中提供进度监控而不用 Eclipse 依赖项“污染”我的 Java 代码?
最佳答案
编写您自己的在代码中使用的进度监控界面,例如:
interface MyProgressMonitor
{
public void beginTask(String name, int totalWork);
public void done();
public boolean isCanceled();
public void worked(int work);
}
对于 Java 应用程序,您可以使用它的一个不执行任何操作的实现。
对于 Eclipse 作业,使用委托(delegate)给 Eclipse IProgressMonitor 的实现:
class EclipseMyProgressMonitor implements MyProgressMonitor
{
private final IProgressMonitor monitor;
EclipseMyProgressMonitor(IProgressMonitor theMonitor)
{
monitor = theMonitor;
}
public void beginTask(String name, int totalWork)
{
monitor.beginTask(name, totalWork);
}
public void done()
{
monitor.done();
}
public boolean isCanceled()
{
return monitor.isCanceled();
}
public void worked(int work)
{
monitor.worked(work);
}
}
关于java - 如何将 java 组件集成到 Eclipse 作业中(带进度监控)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25842014/