我有一个 Java swing 应用程序,其面板包含三个 JComboBoxe无法正确绘制的内容。
组合框仅显示为右侧的向下箭头,但没有当前所选值的标签。
如果窗口的大小调整得更大或更小,即使是一个像素,这些框也会正确地重新绘制。

我所有的谷歌搜索都指向打电话 revalidate()JPanel 来解决这个问题,但这对我来说没有用。
呼唤 updateUI()JPanel 已将其从始终显示不正确更改为一半时间显示不正确。

有没有其他人看到过这一点并找到了强制重绘组合框的不同方法?

有帮助吗?

解决方案

您能否向我们提供有关如何将组合框添加到 JPanel 的更多信息?这是 Swing 中很常见的事情,所以我怀疑这是 JVM 问题,但我想一切皆有可能。

具体来说,我会仔细检查以确保您没有从任何后台线程访问 GUI。在这种情况下,也许您正在从数据库或其他东西读取选择,并从后台线程更新 JComboBox,这在 Swing 中是一个很大的禁忌。请参阅 SwingUtils.invokeLater()。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top