java中容器(頂層容器和中間容器)的佈局管理器詳解
java容器(頂層容器和中間容器)的佈局管理器
Java能夠以像素為單位對組件進行精確的定位,但是其在不同的系統中將會有一定的顯示差異,使得顯示效果不同,為此java提供瞭佈局管理器,使編寫的圖形界面具有良好的平臺無關性。
註意:所有的佈局管理器均是針對容器來使用的,包括頂層容器和中間容器。
一、佈局管理器所屬類包
所屬類包 | 佈局管理器名稱 | 說明 |
---|---|---|
Java.awt | FlowLayout(流式佈局) | 組件按照加入的先後順序按照設置的對齊方式從左向右排列,一行排滿到下一行開始繼續排列 |
Java.awt | BorderLayout(邊界佈局) | 容器劃分為東、西、南、北、中五個區域,每個區域隻能放置一個組件。 |
Java.awt | GridLayout(網格佈局) | 容器的空間劃分成M×N列的網格區域, 每個區域隻能放置一個組件。 |
Java.awt | CardLayout(卡片佈局) | 如同一疊牌,每個牌對應一個組件,但每次隻能顯示其中的一張牌。適用於在一個空間中防止多個組件的情況 |
Java.awt | GridBagLayout(網格包佈局) | GridLayout的升級版,組件仍然是按照行、列放置,但是每個組件可以占據多個網格 |
Java.swing | BoxLayout(箱式佈局) | 允許在容器中縱向或者橫向防止多個控件 |
Java.swing | SprigLayout(彈簧佈局) | 根據一組約束條件放置控件 |
無 | 空佈局 | 不使用佈局管理器,按照控件自身提供的大小、位置信息放置控件 |
二、容器的默認佈局管理器
容器 | 默認佈局方式 | |
---|---|---|
頂層容器 | JFrame | BorderLayout(邊界佈局) |
頂層容器 | JDialog | BorderLayout(邊界佈局) |
頂層容器 | JApplet | FlowLayout(流式佈局) |
中間容器 | JPanel | FlowLayout(流式佈局) |
java常用的四大容器總結
一、為什麼要使用容器(集合類)?
1.需求:某些時候,我們需要在任意時刻和任意位置創建任意數量的對象。
2.數據的缺陷1,具有固定的尺寸,而在實際的使用中我們不好估計自己需要多少的對象。數組的缺陷2,沒法支持更加復雜的數據結構。
3.Java中容器的好處就是在於可以自動地調整自己的尺寸大小。在實際的編程中可以往容器中放置任何數量的對象,而不用擔心容器應該設置成多大。
4.不同的容器還有其特殊的屬性。
二、Java中四大容器的簡介與區別
List
:特定順序保存一組數據。Set
:集合;不允許有重復的數據。Queue
:隊列:在一端插入數據,一端彈出數據。Map
:關聯數據,字典。存儲一組(Key-Value)值。
區別:
List
:可以存儲重復數組,基於數組或者鏈表實現。Set
:不可以存儲重復元素,基於Map實現。Map
:鍵值對方式存儲,存儲的鍵的不能重復,基於哈希表或者紅黑色實現。
三、Java的容器體系
總體上可以分為兩類:
一類是Collection:一個獨立元素的序列,另一類是Map:一對鍵值對的對象。
Collection接口包括List接口、Queue接口、Set接口。其中List接口包括ArrayList類和LinkedList實現類。Queue接口包括Deque接口和PriorityQueue實現類。Set接口包括HashSet實現類,SortedSet接口。
Map接口包括HashMap實現類,TreeHashMap實現類。其中HashMap實現類包括LinkedHashMap子類。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。