我在 JPanel 中有一个 JCalendar,在另一个 JPanel 中有一个 JList,但是在月份组合框中发生了一些事情,当我单击 JList 项目时,背景会显示 JList 项目的一部分,如下所示:
我在 Mac 上,我不知道这是否是一个 nimbus 外观和感觉错误,或者什么。但是使用 Windows 的朋友也有同样的问题。我正在使用 JCalendar v.1.4
JCalendar 和 JList 的面板是否都在同一个高级 JPanel 中(作为容器工作)?如果您处于这种情况,一个解决方案是在显示当前可见的 JPanel 后重新验证容器。
像这样看:
第一的:
A JCalendar in a first JPanel : JPanelCalendar
A JList in a second JPanel : JPanelList
Both in a JPanel : JPanelConatainer
你必须这样做:
JPanelContainer.revalidate();
第二:
确保你做一个,
JPanelCalendar.setVisible(false);
当您想显示 JPanelList 时,反之亦然。
第三:
也许你的问题是因为 JPanelCalendar 不是不透明的,要正确隐藏第二个,
JPanelCalendar.setOpaque(true);
但毕竟,不要忘记在显示另一个之前隐藏其中一个。请让我知道这对你有没有用。
我只是有同样的错误。
它只发生在Nimbus L&F上,并且只发生在JMountChooser 上。
决定非常简单:JMountChooser 上的右键 -> 属性 -> 删除选项“不透明”。
刚刚测试 - 工作正常!