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

时间:2015-01-14 21:08:33

标签: 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上看到过其他类似的问题,但它们至少似乎能够编译和运行他们的应用程序,并且遇到运行时错误或意外行为。我甚至无法达到这一点。

如何在7u40以下的Java应用程序中使用JavaFX,因为Oracle说应该包含JavaFX 2.2.40?我不应该期望能够正常包含javafx包,因为我使用其他内置的Java包吗?

1 个答案:

答案 0 :(得分:2)

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)。