程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> JAVA學習Swing章節流布局管理器簡單學習,swing章節

JAVA學習Swing章節流布局管理器簡單學習,swing章節

編輯:JAVA綜合教程

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();
        //初始化對象時調用構造方法
    }

}

實例運行結果如下


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved