0

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

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

4

1 回答 1

0

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

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

于 2011-11-23T15:31:42.097 回答