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

时间:2015-01-20 13:26:33

标签: swing javafx

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

2 个答案:

答案 0 :(得分:0)

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

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

您可以在Application课程的任何位置访问这些参数,但在您的情况下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传递参数。

答案 1 :(得分:0)

我正在使用Eclipse 在那里,我可以将项目导出为“Runnable Jar-File”和“Jar-File”。

如果你想,没有人双击jar文件,也许你可以使用“Jar-File”女巫不可运行

两种jar文件的区别在于“Runnable Jar-File”包含Main-Class,而另一种不包含。