小博老師解析Java核心技術 ——JSwing窗體佈局

[引言]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);

}

}

實例化窗體對象,而且運行後效果:

 

相關文章
相關標籤/搜索