【发布时间】:2015-03-16 16:44:11
【问题描述】:
我从 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) 时向我显示“无法解析类型 javafx.scene.control.Control。它是从所需的 .class 文件中间接引用的”。
尝试创建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:Java SE 8u25 中似乎缺少一些 JavaFX 类,或者我在构建路径中包含 jre 时出错。
【问题讨论】:
-
为什么在构建路径中有 Java 6 和 Java 8?这可能会造成混乱。
-
我删除了它。我在构建路径中只有
jre1.8.0_25、JUnit 4和jfxrt.jar。我清理并刷新了项目,问题仍然存在。