我无法运行此代码。我从oracle教程得到了这个。
这是一个简单的hello world application.arlier我无法编译它但是现在在classpath中包含jfxrt.jar
文件的路径之后我能够编译但是现在无法运行。
import javafx.application.Application;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
class A extends Application {
public static void main(String[] args) {
launch(args);
}
public void start(Stage primaryStage) {
primaryStage.setTitle("Hello World!");
Button btn = new Button();
btn.setText("Say 'Hello World'");
btn.setOnAction(new EventHandler < ActionEvent > () {
public void handle(ActionEvent event) {
System.out.println("Hello World!");
}
});
StackPane root = new StackPane();
root.getChildren().add(btn);
primaryStage.setScene(new Scene(root, 300, 250));
primaryStage.show();
}
}
我收到以下错误:
Exception in Application constructor
Exception in thread "main" java.lang.RuntimeException: Unable to construct Appli
cation instance: class A
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherIm
pl.java:393)
at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:
47)
at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:115)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.NoSuchMethodException: A.<init>()
at java.lang.Class.getConstructor0(Class.java:2810)
at java.lang.Class.getConstructor(Class.java:1718)
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherIm
pl.java:275)
... 3 more
帮帮我,如何解决这个问题。 感谢
答案 0 :(得分:1)
让你的课程公开
public class A extends Application
然后它应该工作。
无论如何,你需要另一个import-Statement吗?我认为缺少ActionEvent的导入:
import javafx.event.ActionEvent;