如果我运行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包吗?
答案 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
)。