博為峰Java技術(shù)文章 ——JavaSE Swing GroupLayout布局管理器

博為峰小博老師

GroupLayout的單詞意思來(lái)看,以Group(組)為單位進(jìn)行管理布局,把多個(gè)組件(如:JLable、JButton)按區(qū)域劃分到不同的Group(組),再根據(jù)各個(gè)Group(組)相對(duì)于水平軸(Horizontal)和垂直軸(Vertical)的排列方式來(lái)管理。

publicclassBWF{

publicstaticvoidmain(Stringargs[]){

JFramejf=newJFrame("測(cè)試GroupLayout布局管理器");

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanelcontentPane=newJPanel();

GroupLayoutlayout=newGroupLayout(contentPane);

JButtonb1=newJButton("按鈕1");

JButtonb2=newJButton("按鈕2");

JTextFieldtext=newJTextField("文本");

//創(chuàng)建一個(gè)hsg組,將兩個(gè)按鈕一個(gè)一個(gè)的添加到組里面

GroupLayout.SequentialGrouphsg=layout.createSequentialGroup();

hsg.addComponent(b1);

hsg.addComponent(b2);

//創(chuàng)建一個(gè)hpg組,將文本框組件和上面的那個(gè)組添加到其中,并且居中排列

GroupLayout.ParallelGrouphpg=layout.createParallelGroup(GroupLayout.Alignment.CENTER);

hpg.addComponent(text).addGroup(hsg);

layout.setHorizontalGroup(hpg);//沿水平線(xiàn)來(lái)確定hpg組中兩個(gè)按鈕組件的位置

//創(chuàng)建一個(gè)vpg組,按照水平線(xiàn)來(lái)排列兩個(gè)按鈕組件的位置

GroupLayout.ParallelGroupvpg=layout.createParallelGroup();

vpg.addComponent(b1);

vpg.addComponent(b2);

GroupLayout.SequentialGroupvsg=layout.createSequentialGroup();

//將文本框組件和前面的容納兩個(gè)按鈕組件的組同時(shí)添加到vsg組中

vsg.addComponent(text).addGroup(vpg);

//沿垂直線(xiàn)來(lái)確定vsg中vpg和文本框組件的位置

layout.setVerticalGroup(vsg);

contentPane.setLayout(layout);

jf.setContentPane(contentPane);

jf.pack();

jf.setVisible(true);

}

}

上述實(shí)例先將兩個(gè)按鈕組件一個(gè)一個(gè)地放入到hsg組里,然后將文本框組件和hsg放到hpg組中,按照水平線(xiàn)對(duì)hsg中的兩個(gè)按鈕組件的位置進(jìn)行排列,最后,再按垂直方式排列文本框組件和hsg組的位置。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容