上QQ阅读APP看书,第一时间看更新
Managing command-line parameters
Unlike the regular Java programs, which receive all parameters in the main(String[] args) method, JavaFX provides an extra API to get them: Application.getParameters(). Then, you can access them next categories:
- raw format: without any changes
- parsed named pairs: only parameters which were formatted as Java options: --name=value. They will be automatically built into a name-value map.
- unnamed: parameters which didn't fit into the previous category.
Let's compile and run a program with next demo parameters (run these commands from Chapter1/src folder of book's GitHub repository):
javac FXParams.java
java FXParams --param1=value1 uparam2 --param3=value3
This will run next code, see the corresponding API calls in bold:
// FXParams.java
System.out.println("== Raw ==");
getParameters().getRaw().forEach(System.out::println);
System.out.println("== Unnamed ==");
getParameters().getUnnamed().forEach(System.out::println);
System.out.println("== Named ==");
getParameters().getNamed().forEach((p, v) -> { System.out.println(p + "=" +v);});
JavaFX will parse these parameters and allocated them into categories:
== Raw ==
--param1=value1
uparam
--param3=value 3
== Unnamed ==
uparam
== Named ==
param3=value 3
param1=value1