目录
一、FlowLayout
1、定义及特点
(1)Panel的默认布局管理器
(2)一行排满之后换行,且默认对齐方式为居中
(3)不改变组件的大小,可以设置不同的组件间距、行距和对齐方式
2、构造方法
(1)new FlowLayout()
默认的居中对齐方式,水平和垂直间距都是默认值5
(2)new FlowLayout(FlowLayout.RIGHT,20,50)
对齐方式为右对齐,组件之间水平间距为20,垂直间距为50
(3)new FlowLayout(FlowLayout.LEFT)
对齐方式为左对齐,组件水平和垂直的间距都是默认值5
3、实例
package JFrame;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
class Test extends JFrame
{
//成员变量
JButton btn1,btn2,btn3;
//构造函数
Test()
{
//窗体建设四部曲
setSize(300,200);
setTitle("FlowLayout");
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//创建组件
btn1 =new JButton("button1");
btn2 = new JButton("button2");
//设置布局
setLayout(new FlowLayout());
add(btn1);
add(btn2);
//组件实例化
validate();
}
//成员函数
}
public class FlowLayoutTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
new Test();
}
}
package JFrame;
//添加多个组件
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
class Test extends JFrame
{
//成员变量
//JButton btn1,btn2,btn3;
//构造函数
Test()
{
//窗体建设四部曲
setSize(300,200);
setTitle("FlowLayout");
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置布局
setLayout(new FlowLayout());
//添加多个组件
for(int i = 1;i<8;i++)
{
add(new JButton("button"+i));
}
//组件实例化
validate();
}
//成员函数
}
public class FlowLayoutTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
new Test();
}
}
二、BorderLayout
1、定义及特点
(1)Frame类的默认布局管理器
(2)划分为五个区域:东西南北中
(3)每个区域只能加入一个组件,如果加入多个会产生覆盖,如果不指定区域,默认加入中区
(4)缩放原则:
南北水平缩放;东西垂直缩放;中部360度缩放
2、实例
package JFrame;
import java.awt.LayoutManager;
import javax.swing.JButton;
import javax.swing.JFrame;
class Test extends JFrame
{
//成员变量
JButton btn1,btn2,btn3,btn4,btn5;
//构造函数
Test()
{
//1.窗体属性
setTitle("BorderLayoutTest");
setSize(300,200);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//2.组件
btn1 = new JButton("btn1");
btn2 = new JButton("btn2");
btn3 = new JButton("btn3");
btn4 = new JButton("btn4");
btn5 = new JButton("btn5");
//3.设置布局
setLayout(new BorderLayout());
//4.添加组件
add(btn1,BorderLayout.NORTH);
add(btn2,BorderLayout.SOUTH);
add(btn3,BorderLayout.WEST);
add(btn4,BorderLayout.EAST);
add(btn5,BorderLayout.CENTER);
//5.组件实例化
validate();
}
}
public class BorderLayout {
public static void main(String[] args) {
// TODO Auto-generated method stub
new Test();
}
}
三、GirdLayout
1、定义及特点
(1)划分空间为规则的矩形网格,且每个单元格大小相等
(2)组件依次从左向右添加满一行后换行
(3)在GirdLayout构造方法中指定分割的行数和列数
2、实例
package JFrame;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.LayoutManager;
import javax.swing.JButton;
import javax.swing.JFrame;
class Test extends JFrame
{
//1.成员变量
JButton keys[];
//2、构造函数
Test()
{
//窗口属性
setTitle("GirdLayout");
setSize(300,300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//声明对象
keys = new JButton[8];
//设置布局
setLayout(new GridLayout(2,4,3,3));
//添加组件
for(int i = 0;i<keys.length;i++)
{
keys[i] = new JButton("b"+i);
add(keys[i]);
keys[i].setForeground(Color.blue);
}
//组件可视化
pack();//自动打包
validate();
}
}
public class GirdLayoutTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
new Test();
}
}