我从 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 时犯了错误。
最佳答案
注意:我发现您使用的是 Eclipse Helios。您还可以下载最新版本的 Eclipse Luna。这也适用。
您可以尝试使用 e(fx)clipse,这在使用 Eclipse 开发 FX 应用程序时可能是一个有用的 IDE 扩展。为此,请按照下列步骤操作:
- 打开 Eclipse 并转到
Help > Install New Software
并插入 URLhttp://download.eclipse.org/efxclipse/updates-released/1.1.0/site/
在“Work with:”下并按回车键 - 加载包后,选择并安装它们
- 重新启动 Eclipse 后,您可以转到
File > New > Other ...
并选择JavaFX > JavaFX Project
- 还有一步要做:通过转到项目属性并选择“添加外部 JAR ...”,将
jfxrt.jar
添加到类路径中- Windows:
C:\Program Files\Java\jdk1.8.0_25\jre\lib\ext
- Mac 操作系统:
./Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/ext/jfxrt.jar
。
- Windows:
- 准备制作可爱的 JavaFX 图形用户界面!
注意:e(fx)clipse 为开发 JavaFX 应用程序提供了更多支持。随意看看。
关于java - 使用 Java SE 8u25 无法在 Eclipse 中解析某些 javafx 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28011734/