在jnlp应用程序中,我们创建了一个从javax.swing.JDialog扩展的模式弹出窗口,并在必要时调用dispose()来隐藏对话框。但是,有时候最终的客户会重新粉刷问题。对话框并没有真正消失,其父窗口看起来很乱。我无法重现,但它最终在客户端PC上发生了很多次。我想有两个可能的原因:
在这种情况下对我有任何建议吗?
谢谢!
答案 0 :(得分:0)
看起来答案就在问题中; - )
有一个线程(不是EDT )更新UI(在你的情况下是光标)可能会导致这种问题。
因此,请确保您的主题根据您的需要调用SwingUtilities.invokeLater()
(或invokeAndWait()
)。
另一种可能性(但这很大程度上取决于你的线程做了什么,没有你方面的进一步描述,很难说)将使用SwingWorker
而不是线程。