我可以在没有启动功能的情况下构建 javafx 吗

can I build javafx without start function

我想开发一个 javafx 应用程序,为什么不应该有启动功能?
当我用 JFrame 开发一个 swing 应用程序时,我通常评论
public static void main(String[] args)
函数并构建 jar。这确保我如果有人双击 jar 文件将不会执行,除非使用正确的方法。我将此 .jar 文件用于另一个 java 程序,该程序将调用此 jar 并执行它。
我想在 javafx 应用程序中使用相同的功能。
当我在 FX 中评论 public void start(Stage primaryStage) 函数时出现错误。
我应该怎么做。
提前致谢
约格什.

您可以使用 JavaFX 的启动参数(它只是主要方法参数的增强版本)。

假设我们向我们的应用程序添加了一个名为 launch 的新强制参数。您可以检查是否有人(您的代码)已将此参数传递给应用程序并启动,或者如果缺少参数则退出应用程序。

您可以在 Application class 中的任何位置访问参数,但在您的情况下 init() 似乎是个好地方:

public class MyFXClient extends Application {

    @Override
    public void init() throws Exception
    {
        Map<String, String> mainParams = getParameters().getNamed();
        // TODO check if parameter "launch" is present..
    }

    public static void main(String[] args) {
        launch(MyFXClient.class, args);
    }
}

现在您可以从外部调用 main 方法并使用 --launch=test 传递参数。

我正在使用 Eclipse 在那里我可以将项目导出为 "Runnable Jar-File" 和 "Jar-File".

如果你想要,没有人双击jar文件,也许你可以使用"Jar-File" are not runnable

这两种jar文件的区别是"Runnable Jar-File"包含一个Main-Class,另一个不包含