首先來(lái)約定幾個(gè)概念:
組件的理想大小:是指根據(jù)組件確實(shí)所需要的大小來(lái)計(jì)算的(組件自行計(jì)算)。
你想要的大小:實(shí)際中你想要求組件呈現(xiàn)的大小,往往是根據(jù)setSize等方法設(shè)置的。
========================================
創(chuàng)建GUI的四個(gè)步驟:
(1)創(chuàng)建一個(gè)window(即Jframe)。
(2)創(chuàng)建組件。
(3)把組件加到frame上。
(4)顯示。
frame.setSize(300,300);
frame.setVisible(true);
或者直接設(shè)置frame.pack(),使window的大小剛好符合能容納內(nèi)含組件的大小
==========================================
布局管理器在放置組件時(shí),是如何做決定的呢?
不同的布局管理器有不同的策略,在安排組件時(shí)會(huì)詢問組件的理想大?。ㄒ话悴粫?huì)理會(huì)你想要的大?。?,然后再
根據(jù)自己的策略來(lái)決定是否應(yīng)該尊重全部或者部分的理想大小。這就是為什么呈現(xiàn)出來(lái)的效果往往跟你預(yù)想的不一致
的原因。
============================================
三大布局管理器之BorderLayout
(1)該管理器會(huì)把背景組件分割成五個(gè)區(qū)域,如下所示。是frame默認(rèn)的布局管理器。
(2)在布局過(guò)程中,BorderLayout南北方向會(huì)先占位,扣除掉南北占位的部分,再由東西方向占位,然后剩下的
才輪到中間占位。
(3)南北方向占位,會(huì)使用組件理想的高度,而寬度一律與frame同寬。東西方向占位,會(huì)使用組件理想寬度,
高度一律與frame同高。
=============================================
三大布局管理器之FlowLayout
(1)該布局管理器是面板(JPanel)默認(rèn)的布局管理器。
(2)組件會(huì)按照理想大小呈現(xiàn),并且會(huì)從左到右依次加入,當(dāng)超出面板寬度時(shí)會(huì)自動(dòng)換行。
=============================================
三大布局管理器之BoxLayout
(1)使用組件理想大小。
(2)一垂直方向排列組件(也可以水平,但是通常使用其時(shí)都垂直)。
=============================================
幾個(gè)重要方法
(1)可以使用setLayout方法來(lái)改變面板的布局管理器。
(2)如果想改變框架(frame)的布局,可以創(chuàng)建一個(gè)面板,讓該面板稱為frame默認(rèn)的面板,然后
在該面板上修改布局即可。
frame.setContentPane(myPanel)可以修改默認(rèn)的面板。
(3)setLayout(null)可以關(guān)閉布局管理器,此時(shí)則需要直接設(shè)定畫面位置和大小。
以上就是深圳達(dá)內(nèi)教育java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java基礎(chǔ)學(xué)習(xí):swing布局教程”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。