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。

推薦閱讀: