簡體   English   中英

如何從Java代碼啟動Javafx應用

[英]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.Applicationsubclass

我發現了從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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM