【问题标题】:jCalendar display trash in backgroundjCalendar 在后台显示垃圾
【发布时间】:2014-03-30 12:09:12
【问题描述】:

我在一个 JPanel 中有一个 JCalendar,在另一个 JPanel 中有一个 JList,但是在月份组合框中发生了一些事情,当我单击 JList 项目时,背景会显示 JList 项目的一部分,如下所示:

我在 Mac 上,我不知道这是否是 nimbus 外观和感觉错误,还是什么。但是使用 Windows 的朋友也有同样的问题。我正在使用 JCalendar v.1.4

【问题讨论】:

  • 请考虑添加Minimal, Complete, Tested and Readable example 重新创建问题到您的问题。根据您的帖子,我们只能做出猜测。
  • 我认为在netbeans中执行项目有问题,因为当我打开.jar文件时,它可以正常工作。

标签: java swing jcalendar


【解决方案1】:

JCalendar 和 JList 的 Panel 是否都在同一个 Higher 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);

但毕竟,不要忘记在显示另一个之前隐藏其中一个。 让我知道它是否适合你。

【讨论】:

  • 我有 2 个大面板,jPanelLeft、jPanelRight、jPanelLeft:jCalendar 和另一个东西 jPanelRight:Jlist 和另一个 jpanel,但我没有包含两个面板。当我将鼠标移到月份组合框上时会发生这种情况
  • 当您单击 JList 项时,您能否粘贴一段代码,说明您在代码后面的实际操作?
【解决方案2】:

我只是有同样的错误。

只有 Nimbus L&FJMountChooser 才会发生这种情况。

决定真的很简单:JMountChooser 上的右键 -> 属性 -> 移除选项“不透明”。

刚刚测试 - 工作正常!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-10
    • 2016-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多