【问题标题】:Java 1.7 JavaFX 2.2 Troubles on Mac os x MavericksMac os x Mavericks 上的 Java 1.7 JavaFX 2.2 问题
【发布时间】:2014-01-18 13:52:02
【问题描述】:

目前,我在 Mac 上使用 JavaFX 时遇到了一些真正的问题,这源于尝试使用系统菜单栏时,但也导致我发现了与内置全屏功能相关的另一个问题。

这是我正在做的事情:

  1. 打开 Netbeans 并创建一个新的 JavaFX FXML 应用程序。
  2. 我打开 FXML 文件并向场景中添加一个菜单栏。
  3. 我将“使用系统菜单栏”属性设置为 true。
  4. 我构建并运行应用程序。

当应用程序启动时,窗口内没有显示菜单栏(如预期的那样),但 Mac 系统菜单栏仍然是 Netbeans 菜单栏。如果我单击桌面然后返回我的应用程序窗口,系统菜单栏将正确显示我的 JavaFX 应用程序中的菜单。 我可以访问菜单,现在一切正常。

如果我重新启动应用程序,菜单会像前面的示例一样显示不正确。我使用应用程序窗口右侧的全屏按钮进入全屏模式。我将鼠标移到屏幕顶部以显示菜单。我的应用程序菜单已显示但无法访问(即我无法与菜单栏上的任何菜单进行交互)。如果我回到窗口模式,现在会显示菜单栏,但仍然无法访问。如果我按照前面示例中的步骤操作,现在一切都按预期工作,除了从 Java 菜单中选择 Quit Java 菜单选项会导致应用程序抛出以下异常。

线程“JavaFX 应用程序线程”中的异常 java.lang.NullPointerException 在 com.sun.javafx.tk.quantum.GlassViewEventHandler$9.run(GlassViewEventHandler.java:738) 在 com.sun.javafx.tk.quantum.GlassViewEventHandler$9.run(GlassViewEventHandler.java:720) 在 java.security.AccessController.doPrivileged(Native Method) 在 com.sun.javafx.tk.quantum.GlassViewEventHandler.handleBeginTouchEvent(GlassViewEventHandler.java:720)...

系统规格:

  • Mac os X Mavericks 10.9.1
  • Java 版本 1.7.0_51
  • JavaFX 版本 2.2.51-b13
  • Netbeans 7.4
  • Java 更新告诉我运行的是最新版本。
  • Mac 系统更新告诉我目前没有软件更新。

我的尝试

我的研究导致我就 os x Mavericks 上的 Java 6 和 7 之间的冲突进行了各种讨论,我应该安装更新 here

我进行了以下操作:

  • 完全卸载 JavaFX Scene Builder 和 Netbeans。
  • 按照 Oracle 说明 here 完全卸载 JDK 7 和 JRE 7
  • 运行上面链接的 os x Java 6 更新的安装程序。
  • 重新安装了 JDK(1.7 u51 版)。
  • 重新安装了 Netbeans 和 Scene Builder。

我也打算尝试恢复到较旧的 JDK 版本(更新 45 或更低版本),但您必须注册一个 Oracle 帐户才能下载这些版本。

更新:

我也尝试安装 Eclipse 并使用 EclipseFX 创建 JavaFX 项目,但仍然观察到相同的行为。

任何人都可以提供的任何帮助将不胜感激。

【问题讨论】:

    标签: java javafx-2 osx-mavericks


    【解决方案1】:

    我刚刚下载了今天发布的 Java 1.8,看来问题已经解决了。

    【讨论】:

      猜你喜欢
      • 2013-12-06
      • 1970-01-01
      • 2014-08-15
      • 1970-01-01
      • 2014-05-06
      • 2015-04-28
      • 1970-01-01
      • 2013-12-02
      • 2014-07-08
      相关资源
      最近更新 更多