JavaFX 不在 Java 7u40 的类路径上,oracle 文档说应该包含该类路径

标签 java javafx

如果我运行C:\Program Files\java\jdk1.7.0_40\bin\javap javafx.application.Application我遇到了Error: class not found: javafx.application.Application .

如果我运行 Netbeans,它有一个 Java 7 平台和一个 JavaFX 平台,这两个平台都具有相同的设置(相同的平台文件夹、相同的类、相同的 javadoc),因此我假设两个平台的行为相同。如果我创建一个新的 Java 项目,import javafx.application.Application给出错误 package javafx.application does not exist但是创建一个新的 JavaFX 项目会设置一个使用一堆 JavaFX 内容且没有任何错误的项目。

作为 Java 7u40,它应该内置 JavaFX 2.2.40,是吗?不? See Oracle JavaFX Release Documents

如果我能让 JavaFX 表现出来,我将在 Netbeans 中已经存在的普通 Java 项目中使用它,并且它将嵌入到现有的 Swing GUI 中,而不是新的 JavaFX 项目中。

我在 Stack Overflow 上看到了其他类似的问题,但他们至少似乎能够编译和运行他们的应用程序,并且遇到运行时错误或意外行为。我什至无法达到这一点。

由于 Oracle 表示应包含 JavaFX 2.2.40,因此如何在 7u40 下的 Java 应用程序中使用 JavaFX?我是否应该期望能够像其他内置 Java 包一样正常包含 javafx 包?

最佳答案

JavaFX 包含在 Java 7 中,但默认情况下不在类路径中。如果不想创建JavaFX项目,则需要添加jfxrt.jar手动归档到您的项目;它位于 JAVA_HOME/jre/lib目录。

如果您从命令行运行,则需要

java -cp JAVA_HOME/jre/lib/jfxrt.jar:. com.example.MainClass

如果您升级到 Java 8,则 jfxrt.jar文件位于类路径上(它被移动到 JAVA_HOME/jre/lb/ext )。

关于JavaFX 不在 Java 7u40 的类路径上,oracle 文档说应该包含该类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27952475/

相关文章:

java - 如何在 Lucene (5.2.1) 中组合分析器实例以进行停用词删除和词干提取?

java - 如何在javaFX中使用阴影填充颜色?

android - JavaFX 可以在 Android 上运行吗?

java - 通过 SMPP 发送多条短信

java - 在 Java 中格式化时间戳

用于定义与 CFG 匹配的调用模式的 Java 习惯用法

JavaFX 允许用户仅编辑文本的某些区域

java - Eclipse:是否可以混合基于 SWT 和 JavaFX 的插件?

text - JavaFX:文本字段的红色边框

java - 如何在 Google App Engine 上引用实体的默认 Id 属性