[引言]
我們在學(xué)習(xí)Java編程的時候,如果需要開發(fā)客戶端窗體類型的程序,可以使用JDK中的awt和swing庫。本文開始小博老師就繼續(xù)為大家演示如何實(shí)現(xiàn)Java窗體布局,達(dá)到美化界面的效果。
[步驟閱讀一]流水布局FlowLayout
流水布局是Java窗體布局中最基礎(chǔ)的布局方式,其布局原則是將所有窗體中控件水平擺放,如果一行寬度不夠則會自動換行,并且同一行中的控件水平居中。我們來看一個簡單的案例,核心代碼如下:
publicclassLayoutFrameextendsJFrame{
publicLayoutFrame(){
super("博為峰教育");
setBounds(200, 100, 300,
300);
//
設(shè)置窗體布局器(流水布局器)
setLayout(newFlowLayout());
//
循環(huán)生成10個按鈕控件(非固定指令,僅作布局演示)
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)用尤其多,小博老師就不一一列舉了,相信小伙伴們都懂的。我們來做一個簡單的案例,核心代碼如下:
publicclassLayoutFrameextendsJFrame{
publicLayoutFrame(){
super("博為峰教育");
setBounds(200, 100, 300,
300);
//
設(shè)置窗體布局器(邊界布局器)
setLayout(newBorderLayout());
//
生成5個按鈕控件,分別占據(jù)“東南西北中”五大方位(非固定指令,僅作布局演示)
JButtonbtEast=newJButton("東");
JButtonbtSouth=newJButton("南");
JButtonbtWest=newJButton("西");
JButtonbtNorth=newJButton("北");
JButtonbtCenter=newJButton("中");
//
將5個按鈕控件分別添加到窗體中
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)行布局。我們來看一個簡單的案例,核心代碼如下:
publicclassLayoutFrameextendsJFrame{
publicLayoutFrame(){
super("博為峰教育");
setBounds(200, 100, 300,
300);
//
設(shè)置窗體布局器(網(wǎng)格布局器(行數(shù),列數(shù)))
setLayout(newGridLayout(6, 4));
//
循環(huán)多個按鈕控件(非固定代碼,僅作布局演示使用)
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)窗體受到用戶手勢操作時(比如窗口最大化,最小化)時,界面布局需要我們自行修改且重繪界面。我們先來看一個簡單案例,核心代碼如下:
publicclassLayoutFrameextendsJFrame{
publicLayoutFrame(){
super("博為峰教育");
setBounds(200, 100, 300,
300);
//
設(shè)置窗體布局器(布局器參數(shù)傳入空對象即表示使用定位布局器)
setLayout(null);
//
實(shí)例化 按鈕控件對象(非固定代碼,僅作界面布局演示)
JButtonbt=newJButton("按
鈕");
//
使用定位布局的話,每個控件需要自行設(shè)置位置和寬高
bt.setBounds(50, 20, 80, 25);
//
將按鈕控件添加到窗體中
add(bt);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
實(shí)例化窗體對象,并且運(yùn)行后效果: