在Application.launch中获取args(Class,String ... args)

Cod*_*ner 5 java parameters arguments javafx

我正在从java调用JavaFX应用程序.我希望在该JavaFX应用程序中使用String参数.如何在ChatWithSpecificClient中获取该参数?

例如 :

调用类

public class GenWindow{

public static void main(String[] args) {
        Application.launch(ChatWithSpecificClient.class, "String arg");
    }
}
Run Code Online (Sandbox Code Playgroud)

调用类

public class ChatWithSpecificClient extends Application {

    private Parent createScene() {
        BorderPane pane = new BorderPane();

        return pane;
    }

    @Override
    public void start(Stage primaryStage) {
        Scene scene = new Scene(createScene());
        primaryStage.setScene(scene);
        primaryStage.show();
    }

}
Run Code Online (Sandbox Code Playgroud)

例如,如何将此窗口的标题设置为该参数?

Muh*_*mad 8

通过使用getRaw()Parameters类的方法,您可以获取传递给Application类的启动方法的String参数列表.例如,如果您,请将应用程序调用为.

Application.launch(ChatWithSpecificClient.class, "Client's name", "email");
Run Code Online (Sandbox Code Playgroud)

然后在start(Stage s)类的方法结束时将这些值作为String列表获取.

Parameters params = getParameters();
List<String> list = params.getRaw();
System.out.println(list.size());
for(String each : list){
    System.out.println(each);
}
Run Code Online (Sandbox Code Playgroud)