[引言]
我們在學(xué)習(xí)Java編程的時(shí)候,如果需要開發(fā)客戶端窗體類型的程序赵哲,可以使用JDK中的awt和swing庫总处。本文開始小博老師就繼續(xù)為大家演示如何實(shí)現(xiàn)Java窗體布局,達(dá)到美化界面的效果狭归。
[步驟閱讀一]流水布局FlowLayout
流水布局是Java窗體布局中最基礎(chǔ)的布局方式夭坪,其布局原則是將所有窗體中控件水平擺放,如果一行寬度不夠則會(huì)自動(dòng)換行过椎,并且同一行中的控件水平居中室梅。我們來看一個(gè)簡單的案例,核心代碼如下:
publicclassLayoutFrameextendsJFrame{
publicLayoutFrame(){
super("博為峰教育");
setBounds(200, 100, 300,
300);
//
設(shè)置窗體布局器(流水布局器)
setLayout(newFlowLayout());
//
循環(huán)生成10個(gè)按鈕控件(非固定指令疚宇,僅作布局演示)
for(inti= 1 ;i<= 10 ;i++ ){
//
實(shí)例化 按鈕控件
JButtonbt=newJButton("按
鈕");
//
將按鈕控件添加到窗體中
add(bt);
}
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
實(shí)例化窗體對象亡鼠,并且運(yùn)行后效果:
[步驟閱讀二]邊界布局BorderLayout
邊界布局是Java窗體中比較特殊的一種布局,以“東南西北中”的形式對窗體控件進(jìn)行布局敷待,在某些特殊的App如桌面類游戲中運(yùn)用尤其多间涵,小博老師就不一一列舉了,相信小伙伴們都懂的榜揖。我們來做一個(gè)簡單的案例勾哩,核心代碼如下:
publicclassLayoutFrameextendsJFrame{
publicLayoutFrame(){
super("博為峰教育");
setBounds(200, 100, 300,
300);
//
設(shè)置窗體布局器(邊界布局器)
setLayout(newBorderLayout());
//
生成5個(gè)按鈕控件,分別占據(jù)“東南西北中”五大方位(非固定指令举哟,僅作布局演示)
JButtonbtEast=newJButton("東");
JButtonbtSouth=newJButton("南");
JButtonbtWest=newJButton("西");
JButtonbtNorth=newJButton("北");
JButtonbtCenter=newJButton("中");
//
將5個(gè)按鈕控件分別添加到窗體中
add(btEast,BorderLayout.EAST);
add(btSouth,BorderLayout.SOUTH);
add(btWest,BorderLayout.WEST);
add(btNorth,BorderLayout.NORTH);
add(btCenter,BorderLayout.CENTER);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
實(shí)例化窗體對象思劳,并且運(yùn)行后效果:
[步驟閱讀三]網(wǎng)格布局GridLayout
網(wǎng)格布局類似于表格布局,在很多界面布局技術(shù)中都有妨猩,以行和列的形式對窗體中的控件進(jìn)行布局潜叛。我們來看一個(gè)簡單的案例,核心代碼如下:
publicclassLayoutFrameextendsJFrame{
publicLayoutFrame(){
super("博為峰教育");
setBounds(200, 100, 300,
300);
//
設(shè)置窗體布局器(網(wǎng)格布局器(行數(shù),列數(shù)))
setLayout(newGridLayout(6, 4));
//
循環(huán)多個(gè)按鈕控件(非固定代碼钠导,僅作布局演示使用)
for(inti= 1;i<= 24 ;i++ ){
//
實(shí)例化 按鈕控件對象
JButtonbt=newJButton("按
鈕");
add(bt);
}
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
實(shí)例化窗體對象震嫉,并且運(yùn)行后效果:
[步驟閱讀四]定位布局
定位布局是Java窗體界面布局中,使用頻度最高的一種布局方式牡属,也是最自由的一種布局方式票堵,但是缺點(diǎn)在于使用起來比較繁瑣(需要自己設(shè)定坐標(biāo)位置和寬度高度),而且當(dāng)窗體受到用戶手勢操作時(shí)(比如窗口最大化逮栅,最小化)時(shí)悴势,界面布局需要我們自行修改且重繪界面。我們先來看一個(gè)簡單案例措伐,核心代碼如下:
publicclassLayoutFrameextendsJFrame{
publicLayoutFrame(){
super("博為峰教育");
setBounds(200, 100, 300,
300);
//
設(shè)置窗體布局器(布局器參數(shù)傳入空對象即表示使用定位布局器)
setLayout(null);
//
實(shí)例化 按鈕控件對象(非固定代碼特纤,僅作界面布局演示)
JButtonbt=newJButton("按
鈕");
//
使用定位布局的話,每個(gè)控件需要自行設(shè)置位置和寬高
bt.setBounds(50, 20, 80, 25);
//
將按鈕控件添加到窗體中
add(bt);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
實(shí)例化窗體對象侥加,并且運(yùn)行后效果: