8

我有一个 Java swing 应用程序,其面板包含三个JComboBoxe无法正确绘制的 s。
组合框仅在右侧显示为向下箭头,但没有当前选定值的标签。
如果窗口大小调整为更大或更小甚至一个像素,这些框将正确重绘。

我所有的谷歌搜索都指向呼吁revalidate()解决JPanel这个问题,但这对我没有用。
调用已将其从总是显示不正确更改为一半时间显示不正确 updateUI()JPanel

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

4

1 回答 1

6

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

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

于 2008-08-21T19:30:02.547 回答