第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在沒有 GUI 的情況下從命令行運(yùn)行 JavaFX 應(yīng)用程序

在沒有 GUI 的情況下從命令行運(yùn)行 JavaFX 應(yīng)用程序

繁華開滿天機(jī) 2023-03-17 10:31:16
我有一個 JavaFX,用戶可以在其中選擇要處理的文件。現(xiàn)在我想自動化它,以便您可以從命令行運(yùn)行應(yīng)用程序并將這些文件作為參數(shù)傳遞。我試著這樣做:java -jar CTester.jar -cl file.txtpublic static void main(String[] args){     if (Arrays.asList(args).contains("-cl"))     {         foo();     }    else     {         launch(args);     } }main 已執(zhí)行且參數(shù)正確,但這仍會創(chuàng)建 GUI。從文檔:JavaFX 應(yīng)用程序的入口點(diǎn)是 Application 類。每當(dāng)應(yīng)用程序啟動時,JavaFX 運(yùn)行時按順序執(zhí)行以下操作:構(gòu)造指定 Application 類的實(shí)例調(diào)用 init() 方法調(diào)用 start(javafx.stage.Stage) 方法等待應(yīng)用程序完成,這在發(fā)生以下任一情況時發(fā)生:應(yīng)用程序調(diào)用 Platform.exit()最后一個窗口已關(guān)閉且 Platform 上的 implicitExit 屬性為真調(diào)用 stop() 方法因此,如果我不能使用該main方法,我該如何創(chuàng)建這種“替代”流程?我考慮過創(chuàng)建一個普通的 Java 應(yīng)用程序作為包裝器,但對于這樣一個簡單的任務(wù)來說,這似乎有點(diǎn)過分了。有沒有更優(yōu)雅的方式來做到這一點(diǎn)?
查看完整描述

1 回答

?
慕妹3242003

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個贊

在調(diào)用您的方法后簡單地退出應(yīng)用程序foo():


Platform.exit();

這是一個用于演示的快速示例應(yīng)用程序:


import javafx.application.Application;

import javafx.application.Platform;

import javafx.geometry.Insets;

import javafx.geometry.Pos;

import javafx.scene.Scene;

import javafx.scene.control.Label;

import javafx.scene.layout.VBox;

import javafx.stage.Stage;


public class CLSample extends Application {


    public static void main(String[] args) {


        if (Arrays.asList(args).contains("-cl")) {

            commandLine();

            Platform.exit();

        } else {

            launch(args);

        }


    }


    public static void commandLine() {

        System.out.println("Running only command line version...");

    }


    @Override

    public void start(Stage primaryStage) {


        // Simple Interface

        VBox root = new VBox(10);

        root.setAlignment(Pos.CENTER);

        root.setPadding(new Insets(10));


        root.getChildren().add(new Label("GUI Loaded!"));


        // Show the stage

        primaryStage.setScene(new Scene(root));

        primaryStage.setTitle("CLSample Sample");

        primaryStage.show();


    }

}

如果您通過-cl,則只會commandLine()調(diào)用該方法。


查看完整回答
反對 回復(fù) 2023-03-17
  • 1 回答
  • 0 關(guān)注
  • 97 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號