Задержка между заставкой Java и загрузкой экрана приложения

У меня есть настольное приложение 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%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> 

Заранее спасибо за все предложения и помощь.


person Saurabh    schedule 07.11.2011    source источник


Ответы (1)


Выполняете ли вы какие-либо сложные операции перед stage.show() в своем классе приложения?

Попробуйте тогда сбросить и посмотреть, будет ли еще какая-то задержка. Если это было причиной, вы можете настроить дизайн своего приложения для выполнения сложной инициализации после вызова show(), представляя пользователю некоторую полосу загрузки в это время.

person Sergey Grinev    schedule 23.11.2011