java中容器(頂層容器和中間容器)的布局管理器詳解
java容器(頂層容器和中間容器)的布局管理器
Java能夠以像素為單位對組件進行精確的定位,但是其在不同的系統(tǒng)中將會有一定的顯示差異,使得顯示效果不同,為此java提供了布局管理器,使編寫的圖形界面具有良好的平臺無關性。
注意:所有的布局管理器均是針對容器來使用的,包括頂層容器和中間容器。
一、布局管理器所屬類包
所屬類包 | 布局管理器名稱 | 說明 |
---|---|---|
Java.awt | FlowLayout(流式布局) | 組件按照加入的先后順序按照設置的對齊方式從左向右排列,一行排滿到下一行開始繼續(xù)排列 |
Java.awt | BorderLayout(邊界布局) | 容器劃分為東、西、南、北、中五個區(qū)域,每個區(qū)域只能放置一個組件。 |
Java.awt | GridLayout(網(wǎng)格布局) | 容器的空間劃分成M×N列的網(wǎng)格區(qū)域, 每個區(qū)域只能放置一個組件。 |
Java.awt | CardLayout(卡片布局) | 如同一疊牌,每個牌對應一個組件,但每次只能顯示其中的一張牌。適用于在一個空間中防止多個組件的情況 |
Java.awt | GridBagLayout(網(wǎng)格包布局) | GridLayout的升級版,組件仍然是按照行、列放置,但是每個組件可以占據(jù)多個網(wǎng)格 |
Java.swing | BoxLayout(箱式布局) | 允許在容器中縱向或者橫向防止多個控件 |
Java.swing | SprigLayout(彈簧布局) | 根據(jù)一組約束條件放置控件 |
無 | 空布局 | 不使用布局管理器,按照控件自身提供的大小、位置信息放置控件 |
二、容器的默認布局管理器
容器 | 默認布局方式 | |
---|---|---|
頂層容器 | JFrame | BorderLayout(邊界布局) |
頂層容器 | JDialog | BorderLayout(邊界布局) |
頂層容器 | JApplet | FlowLayout(流式布局) |
中間容器 | JPanel | FlowLayout(流式布局) |
java常用的四大容器總結
一、為什么要使用容器(集合類)?
1.需求:某些時候,我們需要在任意時刻和任意位置創(chuàng)建任意數(shù)量的對象。
2.數(shù)據(jù)的缺陷1,具有固定的尺寸,而在實際的使用中我們不好估計自己需要多少的對象。數(shù)組的缺陷2,沒法支持更加復雜的數(shù)據(jù)結構。
3.Java中容器的好處就是在于可以自動地調(diào)整自己的尺寸大小。在實際的編程中可以往容器中放置任何數(shù)量的對象,而不用擔心容器應該設置成多大。
4.不同的容器還有其特殊的屬性。
二、Java中四大容器的簡介與區(qū)別
List
:特定順序保存一組數(shù)據(jù)。Set
:集合;不允許有重復的數(shù)據(jù)。Queue
:隊列:在一端插入數(shù)據(jù),一端彈出數(shù)據(jù)。Map
:關聯(lián)數(shù)據(jù),字典。存儲一組(Key-Value)值。
區(qū)別:
List
:可以存儲重復數(shù)組,基于數(shù)組或者鏈表實現(xiàn)。Set
:不可以存儲重復元素,基于Map實現(xiàn)。Map
:鍵值對方式存儲,存儲的鍵的不能重復,基于哈希表或者紅黑色實現(xiàn)。
三、Java的容器體系
總體上可以分為兩類:
一類是Collection:一個獨立元素的序列,另一類是Map:一對鍵值對的對象。
Collection接口包括List接口、Queue接口、Set接口。其中List接口包括ArrayList類和LinkedList實現(xiàn)類。Queue接口包括Deque接口和PriorityQueue實現(xiàn)類。Set接口包括HashSet實現(xiàn)類,SortedSet接口。
Map接口包括HashMap實現(xiàn)類,TreeHashMap實現(xiàn)類。其中HashMap實現(xiàn)類包括LinkedHashMap子類。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
spring的TransactionalEventListener事務感知源碼解析
這篇文章主要為大家介紹了spring的TransactionalEventListener事務感知源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-09-09詳解IntelliJ IDEA 中如何配置多個jdk版本即(1.7和1.8兩個jdk都可用)
這篇文章主要介紹了詳解IntelliJ IDEA 中如何配置多個jdk版本即(1.7和1.8兩個jdk都可用),非常具有實用價值,需要的朋友可以參考下2017-11-11Java獲取網(wǎng)絡文件并插入數(shù)據(jù)庫的代碼
抓取各大網(wǎng)站的數(shù)據(jù)插入數(shù)據(jù)庫,這樣就不用為沒有數(shù)據(jù)而煩惱了2010-06-06SpringBoot讀取resource目錄下文件失敗的原因及解決方案
在idea中運行時,有些resource下文件讀取工具類能夠正常獲取讀取到文件,但是通過java–jar的方式去運行jar包,此時resource下文件讀取工具類讀取文件就失效了,本文就給大家介紹一下SpringBoot讀取resource目錄下文件失敗解決方案,需要的朋友可以參考下2023-08-08Java中new Date().getTime()指定時區(qū)的時間戳問題小結
本文主要介紹了Java中new Date().getTime()時間戳問題小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07淺談springboot一個service內(nèi)組件的加載順序
這篇文章主要介紹了springboot一個service內(nèi)組件的加載順序,具有很好的參考價值,希望對大家有所幫助。以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家2021-08-08