Java:如果JOptionPane.showMessageDialog()最先出现,为什么progressBar百分比会消失?

Java:如果JOptionPane.showMessageDialog()最先出现,为什么progressBar百分比会消失?,java,swing,Java,Swing,我有一个奇怪的情况。以下是我的Java代码: JOptionPane.showMessageDialog(null, "Hello"); progressBar.setValue(100); progressBar消失了(我的意思是没有颜色),但它的值仍然是100 但是,如果我在消息之前设置值,则可以正常工作: progressBar.setValue(100); JOptionPane.showMessageDialog(null, "Hello"); 有什么解释吗?感谢您的专业知

我有一个奇怪的情况。以下是我的Java代码:

JOptionPane.showMessageDialog(null, "Hello");
progressBar.setValue(100);
progressBar消失了(我的意思是没有颜色),但它的值仍然是100

但是,如果我在消息之前设置值,则可以正常工作:

progressBar.setValue(100);    
JOptionPane.showMessageDialog(null, "Hello");

有什么解释吗?感谢您的专业知识。

A
JOptionPane
是一个模式对话框,这意味着

JOptionPane.showMessageDialog(...) 
语句在关闭选项窗格之前不会执行


您可以通过添加
System.out.println(…)
语句来轻松验证这一点。

\camickr,我同意这一点,但我的意思是,即使在JOptionPane。。关闭时(单击“确定”),progressBar仍然显示为空。根据两行代码,很难判断程序真正在做什么。发布一个合适的帖子,也许有人能帮上忙。