Swing中的进度对话框

4

如何制作一个没有按钮的模态JDialog,在一个Runnable实例完成所需时间内显示,并使该实例在对话框上更新进度条/消息?

显然,不规范的代码可能会起作用,但如果存在清晰的设计,我希望使用它。

3个回答

8

除了取消按钮? :P - Michael Myers
是的,这并不理想,但它确实完全回答了问题。 - Allain Lalonde

2

1
使用一个带有全局实例的监视器类,并使您的代码保持最新状态(我开始了,我正在工作,我在xxx%,我完成了)。
然后,监视器可以决定显示对话框并使其保持最新。稍后,您可以将对话框简单地替换为状态栏中的进度条。为监视器使用接口(方法:start(),update(),end(),error(),isAborted()),以便您也可以将其替换为其他内容。
您可以扩展监视器以在start()后等待500ms(如果有end()),并在这种情况下不显示对话框等。
这就是Eclipse的做法,它运行良好。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接