[英]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成功運行 - 它只是沒有顯示啟動畫面。
我在控制台找到了這兩條消息:
2月11日02:53:32 SnowL /Users/myusername/Desktop/myApp.app/Contents/MacOS/JavaApplicationStub [24262]:忽略無法識別的Java VM選項:-splash:images / splash.png
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.