我可以在没有启动功能的情况下构建 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,另一个不包含
我想开发一个 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,另一个不包含