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

时间:2016-02-28 07:29:01

标签: java javafx parameters arguments

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

例如:

调用类

public class GenWindow{

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

调用类

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();
    }

}

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

2 个答案:

答案 0 :(得分:8)

通过使用Parameters类的getRaw()方法,您可以获得传递给launch方法的String参数列表 应用程序类。例如,如果您将该应用程序调用为。

Application.launch(ChatWithSpecificClient.class, "Client's name", "email");

然后在类的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);
}

答案 1 :(得分:2)

来自documentation

  

args - 传递给应用程序的命令行参数。应用程序可以使用getParameters()方法获取这些参数。