JAVA學習Swing章節流布局管理器簡單學習,swing章節
package com.swing;import java.awt.Container;import java.awt.FlowLayout;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.WindowConstants;/** * 1:流(FlowLayout)布局管理器是布局管理器中最基本的布局管理器,流布局管理器在整個容器中 * 的布局正如其名,像流一樣從左至右擺放組件,直到佔據了這一行的所有空間,然後再向下移動一行。 * 預設情況下,組件在每一行上都是置中排列的,但是通過設定也可以更改組件在每一行上的排列位置 * * 2:FlowLayout類中具有三種構造方法 * alignment參數使用流布局管理器後組件在每一行的具體擺放位置 * horizGap參數以像素為單位指定組件之間的水平分割 * vertGap參數以像素為單位指定組件之間的垂直分割 * * @author biexiansheng * */public class FlowLayoutPosition extends JFrame{ public FlowLayoutPosition(){ setTitle("本表單使用流布局管理器");//設定表單標題 Container container=getContentPane();//初始化容器 //設定表單使用流布局管理器,使組件靠右對齊,並且設定組件之間的水平間隔,和垂直間隔 setLayout(new FlowLayout(1,10,10));//new一個構造方法 //FlowLayout第一個參數設定為0每一行組件將按照靠左對齊排列 //FlowLayout第一個參數設定為1每一行組件將按照中間對齊排列 //FlowLayout第一個參數設定為2每一行組件將按照靠右對齊排列 for(int i=0;i<10;i++){//在容器中添加10個按鈕 container.add(new JButton("button"+i)); //new一個按鈕構造方法,這種提示勤加練習 } setSize(300,200);//設定表單的大小 setVisible(true);//設定表單可視化 //設定表單的關閉方式 setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); } public static void main(String[] args) { FlowLayoutPosition fl=new FlowLayoutPosition(); //初始化對象調用構造方法 }}
執行個體運行結果如下
package com.swing;import java.awt.BorderLayout;import java.awt.Container;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.WindowConstants;/** * 1:在預設不指定表單布局的情況下,Swing組件的配置模式是邊界(BorderLayout) * 布局管理器 * * 2:邊界布局管理器還可以將容器劃分為東西南北中5個地區,可以將組件加入到這5個地區中 * 邊界布局管理器可將標籤放置在表單中間,並且整個組件佔據了表單的所有的空間 * * 3:容器調用Container類的add()方法添加組件時可以設定此組件在邊界布局管理器中的地區 * 地區的控制可以由BorderLayout類中的成員變數來決定 * @author biexiansheng * */public class BorderLayoutPosition extends JFrame{ //定義組件擺放位置的數組 String[] border={BorderLayout.CENTER,BorderLayout.NORTH ,BorderLayout.SOUTH,BorderLayout.WEST,BorderLayout.EAST}; /*1:將布局以及組件名稱分別放置在數組中,然後設定容器使用邊界布局管理器 * 最後在迴圈中將按鈕添加到容器中,並設定組件布局 *2:add()方法提供了在容器中添加組件的功能,並同時設定組件的擺放位置 * */ //定義按鈕組件上面的文字ESWN 東南西北 上北下南左西右東 String[] buttonName={"center button","north 北 button", "south 南 button","west 西 button","east 東 button",}; public BorderLayoutPosition(){//定義一個構造方法 setTitle("這個表單使用邊界布局管理器");// Container container=getContentPane();//定義一個容器 setLayout(new BorderLayout());//設定容器為邊界布局管理器 //setLayout()文法為設定布局管理器 //在容器中添加按鈕,並設定按鈕布局 for(int i=0;i<border.length;i++){ container.add(border[i],new JButton(buttonName[i])); } //設定表單的外部屬性 setSize(350,200);//設定表單的大小 setVisible(true);//設定表單可見 //設定表單的關閉方式 setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); } public static void main(String[] args) { // TODO Auto-generated method stub BorderLayoutPosition bl=new BorderLayoutPosition(); //執行個體化對象的時候就調用了構造方法 }}
執行個體運行結果如下
package com.swing;import java.awt.Container;import java.awt.GridLayout;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.WindowConstants;/** * 1:網格(GridLayout)布局管理器將容器劃分為網格,所以組件可以按行和列進行排列 * 在網格布局管理器中,每一個組件的大小都相同,並且網格中空格的個數由網格的行數和列數決定 * 如一個兩行兩列的網格能產生4個大小相等的網格, * * 2:組件從網格的左上方開始,按照從左至右,從上到下的順序加入到網格中,而且每一個組件都會填滿 * 整個網格,改變表單的大小,組件的大小也會隨之改變 * * 3:網格布局管理器主要有2個構造方法 * rows參數代表網格的行數 * columns參數代表網格的列數,這2個參數只有一個可以為0代表一行或者一列可以排列任意多個組件 * 參數horizGap指定網格之間的間距,指定網格之間的水平間距 * 參數vertGap指定網格之間的垂直間距 * @author biexiansheng * */public class GridLayoutPosition extends JFrame{ public GridLayoutPosition(){//定義一個構造方法 Container container=getContentPane();//定義一個容器 //設定表單使用網格布局管理器,設定了7行3列的網格 setLayout(new GridLayout(7,3,5,5));//先開始設定布局管理器 for(int i=0;i<20;i++){ container.add(new JButton("button"+i)); } //設定容器的外部結構 setTitle("這是一個網格布局管理器的表單"); setSize(300,300);//設定表單的大小 setVisible(true);//設定表單的可見 //設定表單的關閉方式 setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); } public static void main(String[] args) { // TODO Auto-generated method stub GridLayoutPosition gl=new GridLayoutPosition(); //初始化對象時調用構造方法 }}
執行個體運行結果如下