[英]How to launch the javafx app from java code
在我的Java類中,我使用了
Chart.main(args)
用參數啟動我的javafx類。 該程序在javafx類中被阻止並且無法返回到我的java類的問題。
用
Chart.launch(args);
我收到錯誤消息:
java.lang.runtimeException:錯誤:類Image不是
javafx.application.Application
的subclass
。
我發現了從java
啟動javafx
類似示例,但沒有參數。
javafx.application.Application.launch(Chart.class);
謝謝您的幫助。
帶有Class
參數的launch()
方法也帶有參數列表,因此您可以執行
Application.launch(Chart.class, args);
請注意,直到JavaFX應用程序退出之前, launch()
方法才阻塞。 因此,根據您要嘗試執行的操作,您可能需要從后台線程調用它,例如
new Thread(() -> Application.launch(Chart.class, args)).start();
這是一個示例,您的Java代碼為:
public class FXLauncher {
public static void main(String[] args) {
FXApplication application = new FXApplication();
application.handleArgs(args);
new Thread(application ).start();
}
}
並且您的JavaFx應用程序將如下所示:
import javafx.application.Application;
import javafx.stage.Stage;
public class FXApplication extends Application implements Runnable {
public void handleArgs(String[] args){
// handle java args
System.out.println(args);
}
@Override
public void start(Stage stage) throws Exception {
// your javafx code
}
@Override
public void run(){
launch();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.