所以我有两个Java文件。一个是控制台程序,另一个是GUI。如果用户在控制台程序中输入命令,它将打开GUI。很简单这是通过SettingsWindow.main(new String[0]);
完成的。
我的目标是我想将参数传递到SettingsWindow.java
中。我看到了new String[0]
,但我敢打赌,那是我输入参数的地方,但是我无法弄清楚如何在没有给我的情况下(无论是通过array
还是只是通过String
)输入字符串错误。
谢谢!
答案 0 :(得分:2)
尝试如下操作:
SettingsWindow.main(new String[]{"param1", "param2"});
答案 1 :(得分:2)
我想在其他答案上扩大一些,尽管是正确的。
具有public static void main(String[] args)
方法的Java类可以使用java
命令从命令行执行。
在命令行中传递的参数可以作为args
数组中的字符串使用。
根据您的情况,该应用程序(包括其类路径中的SettingsWindow类)已经在运行,用户可以在其中输入命令。发生这种情况时,将调用GUI类,但不会以与启动全新Java应用程序相同的方式“执行” GUI类。 SettingsWindow类已经是应用程序的一部分,可以通过任何其他方法(不一定是main
)调用。
除了从命令行传递参数外,还可以为环境变量提供-DsomeName=someValue
。这些变量在运行时覆盖系统属性,因此将通过调用System.getProperty("someName");
答案 2 :(得分:0)
您需要传递一个数组。您已经是,但是它的大小仅为0。要传递信息,您应该使用类似的
SettingsWindow.main(new String[] {"info", "more info"});