如何才能使没有按钮的模态JDialog
在Runnable
实例完成期间显示,并使该实例在该对话框上更新进度条/消息?
显然,意大利面条代码可能会起作用,但我正在寻找一个干净的设计,如果存在的话。
发布于 2009-02-04 07:39:01
您可能需要研究一下ProgressMonitor。如果操作耗时较长,它会自动弹出一个带有进度条的对话框;请参阅How to Use Progress Monitors。
发布于 2009-09-10 09:22:48
查看以下网址中描述的项目:http://digilander.libero.it/carlmila/compmon/main.html
它是Swing ProgressMonitor的免费Java库替代品。
发布于 2009-02-04 07:37:31
使用具有全局实例的监视器类,并且您的代码保持最新(我正在启动,我正在工作,我在xxx%,我已经完成)。
然后,监视器可以决定显示该对话框,并使其保持最新。稍后,您可以简单地将对话框替换为状态栏中的进度条。使用监视器的接口(方法: start(),update(),end(),error(),isAborted()),这样您也可以用其他东西替换它。
如果有end(),您可以将监视器延长到start()之后等待500ms,并且在这种情况下不显示对话框,等等。
这就是Eclipse如何做到这一点的,它工作得很好。
https://stackoverflow.com/questions/511857
复制