3

根据命令行参数或虚拟机参数,我希望我的应用程序以不可见模式启动。它在两种情况下都做同样的事情,除了在不可见模式下它根本不显示任何东西。

我可以使用 使主程序窗口不可见JFrame.setVisible(false)。但是,然后我必须找到代码中的每个地方,例如打开警告消息弹出窗口等(有很多!)。

有没有更通用的方法来做到这一点?可能类似于无头模式(当然会抛出HeadlessExceptions这不是我想要的)。

谢谢!

4

3 回答 3

2

您的应用程序架构是什么样的?如果它被干净地分开,则创建一个什么都不做的新视图层。

如果它被缠在一起,最好的选择是解开它,然后创建一个什么都不做的新视图层。

于 2013-01-18T10:08:25.107 回答
0

这样做。

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
    }
}
于 2013-01-18T10:06:50.990 回答
0

如果您的表示层与业务逻辑紧密耦合,您将必须检查所有表单和其他可见类。您应该将您的应用程序解耦,并且它会像调用一种方法一样简单。

在其他情况下...好吧,您将拥有一堆if else if.

于 2013-01-18T10:11:48.887 回答