2010-03-20 60 views

回答

4

我不認爲你可以對JFrame的標題欄中的顏色做任何事情,至少不是使用本機代碼來實現平臺特定的解決方案。這是因爲JFrame實際上使用您的本地窗口系統來創建窗口。

至於內部框架,您可以自定義它,因爲它是在由Java控制的窗口內呈現的組件。的確,有很多JInternalFrame properties that you can set in your UI manager。但是,我無法讓這些人在我的系統上工作。

做一些Google搜索,看起來好像是others have found that you cannot change the appearance of JInternalFrame without changing your whole system's look and feel settings.所以,恐怕你可能不得不依靠操作系統來控制標題欄的顏色,即使在使用內部框架時也是如此。

+0

我覺得你只是有_exactly_描述的精神和意圖的JFrame和JInternalFrame的範圍之後。由於JFrame和AWT框架類或多或少是Java GUI層和OS GUI層之間的「接口」。我認爲這個範圍有點「模糊」的唯一地方是JFrame粗糙,因爲它有一些控件可能實際上是在OS GUI層處理的 - 我似乎記得在Swing的早期階段,一些這些參數似乎是OS GUI層的「建議」,因爲Sun試圖決定如何在操作系統方面定位Swing。 – Wintermut3 2010-03-21 02:54:40

1

好的我認爲Joe說得最好,但請記住,您可以決定不裝飾框架,然後在框架內提供自己裝飾的能力。我有一套像自定義AWT容器那樣的皮膚。結果是一個GUI的外觀或行爲不像典型框架所做的那樣 - 不是「矩形」或「方形」「不動產」,而是更像是像Winamp這樣的應用程序的皮膚,導致GUI的形狀不對稱在設計中使用OS GUI層中的Alpha級別進行查看。在我的皮膚容器中,「皮膚」是一個圖像,它是對單個圖像進行「餅乾切割」,然後基於皮膚類的幾何圖形繪製並維護那些描述的區域 - 我只提到這是一種字面上的方式「在盒子外面思考」的問題類型。

WM

+0

再次回顧Joe的回答,我認爲這是導入 - 因爲多年來擺動已經模糊了這一點 - 記住Java GUI如何與操作系統平臺交互並向用戶呈現渲染器最終由Native Peer AWT的癥結。原諒我的老Java爪哇指出這一點,但我認爲有一大羣不斷增長的Java程序員,他們並不真正瞭解AWT甚至整個Java,導致這種情況:閱讀「重量級組件」與「輕量級組件「,如果好奇的話:)很多東西都會變得清晰。 – Wintermut3 2010-03-22 18:23:25

相關問題