使用 Java SE 8u25 在 Eclipse 中无法解析某些 javafx 类

Some javafx classes cannot be resolved in Eclipse using Java SE 8u25

我从 Oracle 安装了 Java SE 8u25 JDK(64 位),其中应该包括 JavaFX。

我正在使用 Win7 64 位、Eclipse Helios 并将 jre 包含在类路径中,如下所示:

我正在尝试复制本教程中的代码: http://docs.oracle.com/javase/8/javafx/get-started-tutorial/hello_world.htm

Eclipse 在尝试使用 javafx.scene.control.Button.setText(String) 时显示 "The type javafx.scene.control.Control cannot be resolved. It is indirectly referenced from required .class files"。 尝试创建 StackPane 对象时会出现类似的问题。

目前的代码如下:

package javaFX;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.control.Button;
import javafx.stage.Stage;

public class HelloWorld extends Application {

@Override
public void start(Stage primaryStage) throws Exception {

    Button btn = new Button();
    btn.setText("Hello world!");
    btn.setOnAction(new EventHandler<ActionEvent>(){

        @Override
        public void handle(ActionEvent arg0) {
            System.out.println("Hello world!");
        }

    });

    StackPane root = new StackPane();

}
}

Tl;dr:某些 JavaFX 类 似乎在 Java SE 8u25 中丢失,或者我在构建路径中包含 jre 时犯了一个错误。

编辑 :

您还没有为 StackPane 导入 class :

import javafx.scene.layout.StackPane;

上一个答案:

基本上你没有导入你的 javafx 库,你可以 Add External JARs,并指出 jfxrt.jar,它会工作得很好。

在我的路径中,jfxrt.jar 在:

C:\Program Files\Java\jdk1.8.0_25\jre\lib\ext

有一个简单的方法,

注意: 我看到您正在使用 Eclipse Helios。您还可以下载最新版本的 Eclipse Luna。这也可以。


您可以尝试 e(fx)clipse,这在使用 Eclipse 开发 FX 应用程序时可能是一个有用的 IDE 扩展。为此,请按照下列步骤操作:

  1. 打开 Eclipse 并转到 Help > Install New Software 并在 "Work with:" 下插入 URL http://download.eclipse.org/efxclipse/updates-released/1.1.0/site/ 然后按回车键
  2. 加载包后,select 并同时安装它们
  3. 重新启动 Eclipse 后,您可以转到 File > New > Other ... 和 select JavaFX > JavaFX Project
  4. 还有一步要做:通过转到项目属性并 selecting "Add external JAR ..." 将 jfxrt.jar 添加到类路径
    • Windows: C:\Program Files\Java\jdk1.8.0_25\jre\lib\ext
    • Mac OS: ./Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/ext/jfxrt.jar.
  5. 准备制作可爱的 JavaFX GUI!

注意:e(fx)clipse 为开发 JavaFX 应用程序提供了更多支持。随意看看。

安装最新的 JDK 会有帮助。请看两个链接: enter link description here enter link description here