[引言]html
咱們在學習Java編程的時候,若是須要開發客戶端窗體類型的程序,可使用JDK中的awt和swing庫。本文開始小博老師就繼續爲你們演示如何實現Java窗體佈局,達到美化界面的效果。編程
[步驟閱讀一]流水佈局FlowLayout佈局
流水佈局是Java窗體佈局中最基礎的佈局方式,其佈局原則是將全部窗體中控件水平擺放,若是一行寬度不夠則會自動換行,而且同一行中的控件水平居中。咱們來看一個簡單的案例,核心代碼以下:學習
public class LayoutFrame extends JFrame{url
public LayoutFrame(){3d
super("博爲峯教育");code
setBounds(200, 100, 300, 300);htm
// 設置窗體佈局器(流水佈局器)對象
setLayout(new FlowLayout());blog
// 循環生成10個按鈕控件(非固定指令,僅做佈局演示)
for( int i = 1 ; i <= 10 ; i++ ){
// 實例化 按鈕控件
JButton bt = new JButton("按 鈕");
// 將按鈕控件添加到窗體中
add(bt);
}
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
實例化窗體對象,而且運行後效果:
[步驟閱讀二]邊界佈局BorderLayout
邊界佈局是Java窗體中比較特殊的一種佈局,以「東南西北中」的形式對窗體控件進行佈局,在某些特殊的App如桌面類遊戲中運用尤爲多,小博老師就不一一列舉了,相信小夥伴們都懂的。咱們來作一個簡單的案例,核心代碼以下:
public class LayoutFrame extends JFrame{
public LayoutFrame(){
super("博爲峯教育");
setBounds(200, 100, 300, 300);
// 設置窗體佈局器(邊界佈局器)
setLayout(new BorderLayout());
// 生成5個按鈕控件,分別佔據「東南西北中」五大方位(非固定指令,僅做佈局演示)
JButton btEast = new JButton("東");
JButton btSouth = new JButton("南");
JButton btWest = new JButton("西");
JButton btNorth = new JButton("北");
JButton btCenter = new JButton("中");
// 將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);
}
}
實例化窗體對象,而且運行後效果:
[步驟閱讀三]網格佈局GridLayout
網格佈局相似於表格佈局,在不少界面佈局技術中都有,以行和列的形式對窗體中的控件進行佈局。咱們來看一個簡單的案例,核心代碼以下:
public class LayoutFrame extends JFrame{
public LayoutFrame(){
super("博爲峯教育");
setBounds(200, 100, 300, 300);
// 設置窗體佈局器(網格佈局器(行數,列數))
setLayout(new GridLayout(6, 4));
// 循環多個按鈕控件(非固定代碼,僅做佈局演示使用)
for( int i = 1; i <= 24 ; i++ ){
// 實例化 按鈕控件對象
JButton bt = new JButton("按 鈕");
add(bt);
}
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
實例化窗體對象,而且運行後效果:
[步驟閱讀四]定位佈局
定位佈局是Java窗體界面佈局中,使用頻度最高的一種佈局方式,也是最自由的一種佈局方式,可是缺點在於使用起來比較繁瑣(須要本身設定座標位置和寬度高度),並且當窗體受到用戶手勢操做時(好比窗口最大化,最小化)時,界面佈局須要咱們自行修改且重繪界面。咱們先來看一個簡單案例,核心代碼以下:
public class LayoutFrame extends JFrame{
public LayoutFrame(){
super("博爲峯教育");
setBounds(200, 100, 300, 300);
// 設置窗體佈局器(佈局器參數傳入空對象即表示使用定位佈局器)
setLayout( null );
// 實例化 按鈕控件對象(非固定代碼,僅做界面佈局演示)
JButton bt = new JButton("按 鈕");
// 使用定位佈局的話,每一個控件須要自行設置位置和寬高
bt.setBounds(50, 20, 80, 25);
// 將按鈕控件添加到窗體中
add(bt);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
實例化窗體對象,而且運行後效果: