Java启动画面和应用程序屏幕加载之间的延迟

时间:2011-11-07 19:54:43

标签: java jnlp javafx-2

我有一个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> 

提前感谢所有建议和帮助。

1 个答案:

答案 0 :(得分:0)

您是否在Application类中的stage.show()之前执行任何复杂的操作?

尝试放弃然后看看是否还会有任何延迟。如果这是你可能想要调整应用程序的设计以在show()调用之后执行复杂初始化的原因,同时向用户显示一些加载条。