我最近开始学习 JavaFX,并从一本使用 JDK 9 的书中获得了这段代码。当我运行该程序时,我遇到了错误。我查看了其他代码并尝试在启动方法中添加“@Override”和“抛出异常”,但是我得到了同样的错误。构建程序时我没有收到任何错误。
如果有帮助:我正在使用 JDK 11.0.2 和来自 openjfx.io 的 JavaFX。
import javafx.application.*;
import javafx.scene.*;
importjavafx.stage.*;
import javafx.scene.layout.*;
class JavaFXSkel extends Application{
public static void main(String[] args){
System.out.println("Launching JavaFX Application");
launch(args);
}
public void init(){
System.out.println("Inside the init() method");
}
public void start(Stage myStage){
System.out.println("Inside the start() method");
myStage.setTitle("JavaFX Skeleton");
//makes a root node with a flow layout pane
FlowPane rootNode = new FlowPane();
//Crate a scne
Scene myScene = new Scene(rootNode, 300, 200);
//Set teh scene on stage
myStage.setScene(myScene);
//Show the stage and the scene
myStage.show();
}
public void stop(){
System.out.println("Inside the stop() method");
}
}
错误信息:
Exception in Application constructor
Exception in thread "main" java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: Unable to construct Application instance: class JavaFXSkel
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:890)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
慕虎7371278
Cats萌萌
相关分类