簡體   English   中英

Mac OS,Java Splash

[英]Mac OS, Java Splash

我正在嘗試將我的Java應用程序移植到Mac OS。
當應用程序啟動時,應該出現啟動畫面。

當我從終端運行應用程序時,它是這樣的:
java -classpath /the/right/classpath/ -splash:images/splash.png myApp/Main
當我這樣做時,會出現閃屏。

但是當我將應用程序與Jar Bundler捆綁在一起時,不會出現閃屏。

在Jar Bundler上,在屬性選項卡下,在VM Option中我寫道:
splash:images/splash.png
我也嘗試過:
-splash:images/splash.png (帶連字符)。
as well. 我還標記了“ 選項。

我將images/splash.png復制到:

  • myApp.app/Contents
  • myApp.app/Contents/Resources
  • myApp.app/Contents/Resources/Java
  • myApp.app/Contents/MacOS
  • 但是閃屏拒絕出現!

    這很奇怪,因為myApp.app成功運行 - 它只是沒有顯示啟動畫面。

    我在控制台找到了這兩條消息:

    2月11日02:53:32 SnowL /Users/myusername/Desktop/myApp.app/Contents/MacOS/JavaApplicationStub [24262]:忽略無法識別的Java VM選項:-splash:images / splash.png

    這在splash屬性之前沒有連字符。

    2月11日02:55:50 SnowL /Users/myusername/Desktop/myApp.app/Contents/MacOS/JavaApplicationStub [26314]:忽略無法識別的Java VM選項:splash:images / splash.png

    當我從終端運行應用程序時,如果它可以顯示啟動畫面,但雙擊應用程序不會顯示啟動畫面?
    它應該像終端VM一樣運行在同一個VM上,不是嗎?
    我還將JVM版本(在Info.plist文件中)更改為:
    1.5 *
    1.5+
    1.6 *
    1.6+
    它們都不會使閃屏出現。

    感謝幫助!

    像這樣,在您的Info.plist中:

    ...
    <key>Java</key>
        <dict>
    
        <key>MainClass</key>
        <string>...</string>
    
        <key>SplashFile</key>
        <string>$APP_PACKAGE/tmp_splash.png</string>
    ...
    

    在我的申請中:
    Info.plist的:

        ...
        <dict>
            <key>ClassPath</key>
            <string>$JAVAROOT/@PROJECTNAMEASIDENTIFIER@.jar:@CLASSPATH@</string>
            <key>JVMVersion</key>
            <string>1.6+</string>
            <key>MainClass</key>
            <string>@PROJECTMAINCLASS@</string>
            <key>SplashFile</key>
            <string>$JAVAROOT/splash.png</string>
        ...  
    

    splash.png復制到myapp.app/Contents/Resources/Java/splash.png
    et voila。

    您可以讓應用程序在應用程序啟動時顯示裝飾關閉的jFrame和圖片

    我有同樣的問題,並在這個線程上找到了一個解決方案:

    http://lists.apple.com/archives/java-dev/2008/Jun/msg00012.html

    它涉及在使用Jar Bundler之后向捆綁應用程序的Info.plist文件添加條目。 此外,需要將映像復制到myApp.app/Contents/Resources/Java(至少使用“在應用程序包內設置工作目錄”選項)。 可能有更好的方法,但這似乎有效。

    暫無
    暫無

    聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

     
    粵ICP備18138465號  © 2020-2024 STACKOOM.COM