我有一个JavaFx 2.0桌面应用程序,我打算使用jnlp文件通过JWS运行。 我面临的问题是,在java默认启动画面消失和我的应用程序加载之间需要花费大量时间。与此同时,用户会猜测发生了什么。有没有办法,我可以使这个加载过程更加用户友好,并在我的应用程序实际显示之前显示/通知发生了什么?我已经尝试过使用预加载器,如JavaFx部署文章中所述:http://download.oracle.com/javafx/2.0/deployment/preloaders.htm#BABCDIHD,但这似乎也不起作用。以下是我的JNLP文件的外观:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" xmlns:jfx="http://javafx.com" codebase="file:///C%3A/Program%20Files/HP/Pulse/PulseLite"href="iMonLauncher.jnlp">
<information>
<title>iMonLauncher</title>
<vendor>Administrator</vendor>
<homepage href="file:///C%3A/Program%20Files/HP/Pulse/PulseLite"/>
<description>iMonLauncher</description>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<resources os="Windows" arch="x86">
<jfx:javafx-runtime version="2.0+"
href="http://download.oracle.com/otn-pub/java/javafx/javafx-windows-i586__Vlatest.exe "/>
</resources>
<resources os="Windows" arch="x64">
<jfx:javafx-runtime version="2.0+" href="http://download.oracle.com/otn-pub/java/javafx/javafx-windows-x64__Vlatest.exe "/>
</resources>
<resources>
<j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
<jar href="iMon.jar" size="593908"/>
<jar href="lib/iMonPreloader.jar" size="4004" download="progress" />
<jar href="lib/ibase-core.jar" size="200674"/>
<jar href="lib/ibase-fx.jar" size="190545"/>
<jar href="lib/imonDB.jar" main="true" size="141462"/>
</resources>
<application-desc name="iMon" main-class="imon.Main" > </application-desc>
<jfx:javafx-desc width="800" height="600" main-class="imon.Main" name="iMon"
preloader-class="imon.MyPreloader"/><update check="background"/>
</jnlp>
提前感谢所有建议和帮助。
答案 0 :(得分:0)
您是否在Application类中的stage.show()之前执行任何复杂的操作?
尝试放弃然后看看是否还会有任何延迟。如果这是你可能想要调整应用程序的设计以在show()调用之后执行复杂初始化的原因,同时向用户显示一些加载条。