2011-11-07 77 views
0

我有一个JavaFx 2.0桌面应用程序,我打算使用jnlp文件通过JWS运行。 我面临的问题是,在java默认启动画面消失和我的应用程序加载之间需要花费大量时间。与此同时,用户仍在猜测发生了什么。有没有办法,我可以使这个加载过程更加用户友好,并显示/通知我的应用程序实际显示之前发生了什么?正如JavaFx部署文章中所描述的那样,我尝试过使用预加载器:http://download.oracle.com/javafx/2.0/deployment/preloaders.htm#BABCDIHD,但这似乎也无法实现。以下是我的JNLP文件的外观:Java启动画面和应用程序屏幕加载之间的延迟

<?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

你是否在stage.show()之前执行了任何复杂的操作?

试着放下然后看看是否还有任何延迟。如果这是您可能需要调整应用程序的设计以在show()调用之后执行复杂初始化的原因,同时向用户呈现一些加载栏。