Java 1.6.15,Mac OS X,MenuItem不会消失

时间:2012-05-25 09:10:50

标签: java macos swing jvm jmenuitem

我的应用程序使用许可机制的一些实现。根据许可证类型,某些菜单项必须是不可见的。现在我在Mac OS X 10.6.2上遇到了问题。 Java版本1.6.0_15。菜单项无论如何都不会消失。我调试了实现该功能的方法并亲眼看到 - 属性 visible 变为false!并且在这个应用程序中没有可以改变它的代码。更多 - 应用程序适用于所有Windows-es,我使用的是最后一个JRE,而OS X则使用Java 1.6.0_31更新到10.6.8。 这是一个有缺陷的Apple的JVM吗?在这种情况下,最佳解决方案是什么?

1 个答案:

答案 0 :(得分:0)

好吧,我试图创建SSCCE但失败了。在JFrame的简单子类中,一切正常。物品按预期消失。但相反,我发现this document。它说:

  

雷达#7420583
  JMenuItems setVisible(false)不隐藏。
  说明:
  屏幕菜单栏不会隐藏标记为setVisible(false)的JMenuItems。
  解决方案:此问题已得到解决。

正如我所料,这是Apple的错。 剩下的就是在Mac OS X上明确检查运行时版本。 欢迎提出任何其他解决方案(升级java除外 - 这不是我的职责范围)。