根据命令行参数或虚拟机参数,我希望我的应用程序以不可见模式启动。它在这两种情况下都做同样的事情,除了在不可见模式下它根本不显示任何东西。
我可以使用JFrame.setVisible(false)
使主程序窗口不可见。但是,然后我必须找到代码中的每个地方,例如打开警告消息弹出等(有很多这样的!)。
有更通用的方法吗?也许是无头模式(当然会抛出HeadlessExceptions
,这不是我想要的)。
谢谢!
您的应用程序架构是什么样的?如果它被清晰地分开,那么创建一个不做任何事情的新视图层。
如果它纠结在一起,最好的选择是解开它,然后创建一个不做任何事情的新视图层
这样做
public static void main(String[] args){
boolean gui = true;
for (String s : args){
if (s.equals("--nogui")){
// Do not create GUI
gui = false;
break;
}
}
if (gui){
// Create the gui
}
}
如果您的表示层与业务逻辑紧密耦合,则必须检入所有表单和其他可见类。您应该解耦您的应用程序,然后它将像调用一个方法一样简单。
在其他情况下…你会得到一堆if else if