#java #jnlp #javafx-2
#java #jnlp #javafx-2
Вопрос:
У меня есть настольное приложение JavaFX 2.0, которое я намерен запустить через JWS, используя файл jnlp. Проблема, с которой я сталкиваюсь, заключается в том, что между исчезновением заставки 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:/Program Files/HP/Pulse/PulseLite"href="iMonLauncher.jnlp">
<information>
<title>iMonLauncher</title>
<vendor>Administrator</vendor>
<homepage href="file:///C:/Program Files/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>
Заранее благодарю за все предложения и помощь.
Ответ №1:
Выполняете ли вы какие-либо сложные операции перед stage.show() в вашем классе приложений?
Попробуйте удалить then и посмотрите, будет ли еще какая-либо задержка. Если это было причиной, вы можете захотеть настроить дизайн вашего приложения для выполнения сложной инициализации после вызова show (), одновременно представляя пользователю некоторую панель загрузки в это время.