2009-02-04 67 views
4

如何在没有按钮的情况下显示一个模式JDialog需要完成一个Runnable实例并让该实例更新该对话框上的进度条/消息?Swing中的进度对话框

明显的意大利面条代码可能工作,但我正在寻找一个干净的设计,如果存在。

回答

1

使用一个全局实例监视器类,以及您的代码保持最新状态(我开始,我正在工作,我在xxx%,我完成了)。

显示器可以决定显示对话框并保持最新状态。稍后,您可以简单地将对话框替换为状态栏中的进度条。为监视器使用接口(方法:start(),update(),end(),error(),isAborted()),以便您可以用其他方法替换它。

可以延长显示器等待500毫秒在开始后()如果有结束(),并没有表现出在这种情况下,对话框等

这是Eclipse怎么做到的,而且运作良好。