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

Java: why progressBar percentage disappears if JOptionPane.showMessageDialog() came first?

我有一个奇怪的情况。这是我在 Java:

中的代码
JOptionPane.showMessageDialog(null, "Hello");
progressBar.setValue(100);

progressBar 消失了(我的意思是没有颜色),但它的值仍然是 100。

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

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

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

A​​ JOptionPane 是模态对话框,这意味着以下代码行:

JOptionPane.showMessageDialog(...) 

在您关闭选项窗格之前不会执行语句。

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