進來一直研究swing的內容,在看到jrootpanel的glasspanel的時候沒有理解,今天看**看到了這一部分,終於對於他的意義有所理解了。
rootpanel有glasspanel和layeredpanel組成,其中的layeredpanel有位於地段的menubar和下面的contentpanel組成。
jrootpane
所使用的自定義layoutmanager
可確保:
glasspane
填充了jrootpane
的整個可檢視區域(邊界 - insets)。
layeredpane
填充了jrootpane
的整個可檢視區域。(邊界 - insets)
menubar
位於layeredpane
的上邊緣。
contentpane
填充了整個可檢視區域,減去menubar
(如果有)。
其中glasspane 位於所有窗格之上,以便能夠擷取滑鼠移動。這樣我們可以在dnd的過程中,在rootpanel中設定乙個panel,這樣就可以覆蓋掉下面的所有的控制項,等拖拽結束以後將glasspanel刪除,其他的控制項也就全部沒有覆蓋了,這樣有什麼好處呢,覆蓋了以後,滑鼠事件就完全被遮蔽了,避免以下不必要的滑鼠監聽處理,多有意義的事情啊。
這幾天在開發乙個office2007風格的介面,現在還沒有成型了,上傳乙個,後續功能開發主要在屬性面板,和製作可以拖拽和停靠在右邊的視窗,先上傳乙個中間的產品。顏色和excel2007基本相同,因為直接是從他上面擷取的顏色值。
Swing學習總結
1.swing中用輕量級的元件替代而來awt中的重量級元件,並在awt元件的基礎上增加了一些新的特性.swing中的大多數元件都是awt元件名稱前增加了乙個 j 2.從元件的功能上可分為 2.2中間容器 jpanel,jscrollpane,jsplitpane,j 2.3特殊容器 在gui上起特殊...
學習篇 Swing繪製
如果要進行自定義繪製就要繼承jpanel,重寫其paintcomponent graphics2d 為 graphics 的子類,擁有更多的圖形介面操作,比graphics更強大所以一般我們在重寫paintcomponent graphiics g 方法的時候,通常將引數g強轉為graphics2d...
swing學習文件 1
學習使用border 1.netbeans開啟專案時出現錯誤 在project.xml中將改為 專案可以開啟但是錯誤的.分析 2 border border 建立邊框 然後用borde ctory的構造器方法構造不同型別的border 例 border borde ctory.createempty...