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