关于这个问题的答案有一条评论:
如何在JavaFX独立应用程序中将启动画面创建为Preloader?
系统属性
javafx.preloader=classname似乎也起作用。
我没有尝试过,但是也许您可以尝试设置该属性,然后通过公共
Application.launch(appClass,args)API 启动您的主应用程序,也许预加载器将首先启动。
查看的代码
Application.launch,看来这是可行的。这是从Java 8源复制的最终调用的代码:
public static void launchApplication(final Class<? extends Application> appClass, final String[] args) { Class<? extends Preloader> preloaderClass = savedPreloaderClass; if (preloaderClass == null) { String preloaderByProperty = AccessController.doPrivileged((PrivilegedAction<String>) () -> System.getProperty("javafx.preloader")); if (preloaderByProperty != null) { try { preloaderClass = (Class<? extends Preloader>) Class.forName(preloaderByProperty, false, appClass.getClassLoader()); } catch (Exception e) { System.err.printf("Could not load preloader class '" + preloaderByProperty + "', continuing without preloader."); e.printStackTrace(); } } } launchApplication(appClass, preloaderClass, args);}
因此,您应该能够使用以下命令通过预加载器启动应用程序:
System.setProperty("javafx.preloader", "my fully qualified preloader class name");Application.launch(myMainClass, args);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)