2012-02-24 68 views
2

我看到一些使用Welcome!/「splash」頁面加載的Swing應用程序(如Eclipse)。這是什麼樣的Swing組件?它有點像網頁(像老的<imagemap> s!)嵌入Swing應用程序中,非常酷。用於「飛濺」頁面的Swing組件?

+3

Eclipse不是Swing應用程序(它建立在SWT圖形框架上)。 – Sinjo 2012-02-24 22:45:33

回答

4

您可以使用圖像編輯器設計啓動畫面,如Photoshop或GIMP。以Java支持的格式保存圖像,如JPG,GIF或PNG。以適用於上網本和投影儀等低分辨率設備的分辨率設計啓動屏幕。

E.g. Eclipse的啓動畫面是〜450x300像素:

enter image description here

要顯示的圖像,你可以使用一個JDialog,其邊框和關閉按鈕已經通過setUndecorated(true)隱藏。 JDialog可以包含一個JLabel。調整JDialog和JLabel的大小以顯示整個圖像。 JLabel的icon屬性應該設置爲啓動屏幕圖像。

通過採用Swing's Timer class,您可以在固定的時間內顯示啓動畫面。考慮讓用戶可以選擇禁用啓動畫面,以免他們每次啓動程序時都浪費時間觀看它。

或者,應用程序完成初始化後,您可以考慮隱藏啓動畫面,而不是使用計時器來顯示啓動畫面一段固定的時間。什麼「初始化應用程序」需要特定於您的應用程序。這是Eclipse使用的方法(它的啓動畫面甚至有一個進度條)。


你的問題實際上似乎是關於Eclipse「歡迎屏幕」(參見下圖),而不是Eclipse的「閃屏」。歡迎屏幕包含可點擊區域。 Java有一些有限的能力來顯示HTML內容。有關詳細信息,請參閱http://docs.oracle.com/javase/tutorial/uiswing/components/html.html。 Java內置的對HTML的支持相當有限,因此可能無法滿足您的需求。這裏是談論使用只讀JEditorPane中顯示HTML內容,並捕捉超鏈接點擊事件執行自定義操作指南: http://www.apl.jhu.edu/~hall/java/Swing-Tutorial/Swing-Tutorial-JEditorPane.html

enter image description here

+0

邁克 - 感謝您的偉大建議!但Eclipse中的啓動頁面上有可點擊的按鈕/鏈接,這些按鈕/鏈接將帶您進入GUI的不同部分。我知道Eclipse是SWT(不是Swing!)的基礎,但Swing是否支持像這樣的JLabel圖像的想法,這將允許可點擊/交互式部分? – IAmYourFaja 2012-02-24 22:55:14

+0

@AdamTannon對不起,我以爲你的意思是Eclipse啓動時顯示的啓動畫面(請參閱我的答案中的屏幕截圖)。我認爲你所說的屏幕是這個「歡迎」屏幕。你可以通過幫助(菜單) - >歡迎來看到它。這個屏幕更復雜,我認爲(至少在Swing中)需要一些自定義編碼。 – 2012-02-24 23:00:07

2

它真的很容易去做。只需在清單文件中創建一個指向您jar文件中圖像資源的啓動畫面條目。

例如

SplashScreen-Image: resources/splash.png 

該圖像甚至可以具有透明度,所以你可以使它看起來是非矩形的。