有没有一种方法可以运行-.jar文件(使用javaFx创建)而不显示任何内容(GUI,进度栏等)?

时间:2019-02-10 19:53:12

标签: java

我写了一个包含javaFX的java文件。现在,我想运行该文件,例如 java -jar example.jar 但我想隐藏图形输出。 是否有可能这样做,例如标记或其他? 我的程序通常显示进度条,然后显示模拟视频。

非常感谢。

3 个答案:

答案 0 :(得分:4)

详细介绍 JB Nizet 的评论。 JAR文件具有清单。为了使用命令java -jar example.jar运行JAR,清单必须具有Main-Class条目。而且您的主类必须具有main()方法。

所以像这样启动您的应用...

java -jar example.jar NO_GUI

然后在您的main()方法中,编写如下内容...

public static void main(String[] args) {
    if (args.length > 0  &&  "NO_GUI".equals(args[0]) {
        // Don't show GUI
    }
    else {
        // Show the GUI.
    }
}

答案 1 :(得分:2)

您可以在场景中呼叫hide(),以使窗口消失。

答案 2 :(得分:2)

实际上没有办法强制执行此操作。

相反,将其实现为功能。创建命令行参数nogui并对其作出反应:

public static void main(String[] args) {
    boolean useGui = true;
    if (args.length > 0 && args[0].equals("nogui")) {
        doNotUseGui = false;
    }

    // Create your program and give it the flag
    Program prog = new Program(useGui);
    ...
}

请注意,从理论上讲,有可能 hack 您的应用程序并删除所有此类调用,或者在本机级别上禁止调用。但是我想那并不是您真正想走的路。