![](/img/trans.png)
[英]Is it possible to create standalone JavaFx application that uses Spring Jdbc and Mysql
[英]Possible to create JavaFX Application object?
是否可以從javaFX創建Application對象?
public class Constructor
{
public Constructor()
{
Application a = new Application()
{
@Override
public void start(Stage window) throws Exception
{
}
};
a.launch();
}
}
當我嘗試運行它時,它當前給了我這個:
線程“主”中的異常java.lang.RuntimeException:錯誤:類net.whiteautumn.lightcast.Constructor不是javafx.application.Application的子類
我認為,這是由Constructor
類未擴展Application
引起的。 有什么方法可以解決這個問題,或者這是啟動JavaFX應用程序的唯一方法嗎?
編輯:我知道如何啟動一個javaFX應用程序。 我要制作的應用程序並將其包含在對象中。 這可能嗎?
Application.launch()
是靜態方法,因此a.launch()
等同於Application.launch()
。 這意味着它將嘗試啟動調用該類的應用程序,即Constructor
類。
正確的方法是:
private static class MyApp extends Application
{
@Override
public void start(Stage window) throws Exception
{
}
};
Application.launch(MyApp.class, null);
您應該將應用程序擴展到初始化JavaFX Toolkit; 並覆蓋start方法以顯示表單(JavaFx階段)。 顯然,您需要主要的靜態方法來運行應用程序。
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.shape.Circle;
import javafx.scene.shape.CircleBuilder;
import javafx.stage.Stage;
public class Constrcutor extends Application {
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("JavaFX Abacus");
Pane root = new Pane();
Circle circle = CircleBuilder.create()
.radius(20)
.centerX(20)
.centerY(20)
.build();
root.getChildren().add(circle);
primaryStage.setScene(new Scene(root, 400, 400));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.