当前位置: 首页 > 知识库问答 >
问题:

Mac os x Mavericks上的Java 1.7、JavaFX 2.2故障

爱炯
2023-03-14

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

这是我正在做的事情:

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

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

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

线程“JavaFX应用程序线程”java.lang.NullPointerExceptioncom.sun.javafx.tk.quantum.GlassViewEventHandler9.run(GlassViewEventHandler.java:738)com.sun.javafx.tk.quantum.GlassViewEventHandler9.run(GlassViewEventHandler.java:720)java.security.AccessController.doPrivileged(本机方法)com.sun.javafx.tk.quantum.GlassViewEventHandler.handleBeginTouchEvent(GlassViewEventHandler.java:720)...

系统规格:

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

我试过的

我的研究让我对os x Mavericks上Java 6和7之间的冲突进行了各种讨论,我应该在这里安装更新。

我执行了以下工作:

  • 完全卸载JavaFX场景生成器和Netbeans
  • 根据此处的Oracle说明,完全卸载了JDK 7和JRE 7。
  • 运行上面链接的os x Java 6更新的安装程序
  • 已重新安装JDK(版本1.7 u51)
  • 已重新安装Netbeans和场景生成器

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

更新:

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

任何人能提供的任何帮助都会得到极大的感谢。

共有1个答案

伯君浩
2023-03-14

我刚刚下载了今天发布的Java1.8,似乎问题已经解决。

 类似资料:
  • 我使用JavaFX2.2制作了一个应用程序,希望切换到JavaFX8。使用JavaFX2.2,我的应用程序如下所示: 在使用JavaFX8而不更改任何源代码时,如下所示: 在JavaFX8中,一些节点根本不显示(例如,条件1),有时在随机单击ScrollPane后出现。此外,节点的大小不正确(比较步骤1和小点)。另一个问题是,当执行添加节点等操作时,应用程序在JavaFX8中严重滞后。 null

  • 我使用JavaFX2.2绘制甘特图。 在SplitPane的左侧可编辑带有计划任务的tableView(名称、开始、结束), 右侧可panning包含图表的滚动窗格。 我在表中添加了一个ObservableList of Tasks,在循环中,为列表中的每个任务创建矩形节点并将其添加到ScrollPane中。图表中表示任务的矩形必须是交互式的,并且可以监听事件,以便它们可以左/右移动,水平调整大小

  • Remove my password from lists so hackers won’t be able to hack me

  • 我安装了墨盒,并将其缩放到3个档位。每个的设置为2。在我将从: 致: 现在,在重新启动墨盒后,它看起来一切正常,直到我杀死主人。奴隶们只是坐在那里数着他们上次看到的几秒钟...他们(其中一个)的日志上写着:

  • 我正在尝试使用std::mutex和std::lock_guard访问共享的std::队列。互斥体(pending_md_mtx_)是另一个对象(其地址有效)的成员变量。我的代码似乎在锁护结构上出错了。 有什么想法吗?我应该使用std::unique_lock(或其他对象)吗?在Ubuntu Linux下运行GCC4.6(--std=C++0x)。我不能发布整个类,但是下面列出的对互斥体和队列的唯

  • 在Eclipse版本之后,我安装并测试了名为“CrunchifySpringMVactural”的Spring简单应用程序。这是一个maven项目。它是成功构建的,当开始使用ApacheTomcat时,会出现如下错误。 Java版本 java-版本 java版本“1.8.0_65” Java(TM)SE运行时环境(build 1.8.0_65-b17) Java HotSpot(TM)64位服务器

  • 我正在尝试将OSS Ehcache与兵马俑集群一起使用,但未能从ehcache客户端实现故障转移。 我在这里的文档中找到了这种配置 但是这个连接只接受一个URL。如果集群中有两台terracotta服务器,我希望HA具有故障转移功能。类似ActiveMQ故障转移url: 我的问题是:这在开源ehcache中是可能的,还是我需要有企业版本,如果可能的话,如何配置它。 更新 我试过<代码> 如果我尝试

  • 问题内容: 我刚刚重新安装了Apache服务器2.2。一切正常。当我进入本地主机时,我得到:“有效!” 我刚刚安装了mySQL5.5,当我转到localhost:3306时,我变得很乱: J 5.5.22 ‘ 4[LM {D〜p ÿ÷! € 6[I = 4 / +,9z {| mysql_native_password。! #08S01Got数据包出现故障 我在互联网上看到很多用户遇到类似问题的帖