Swing组件及三大布局管理器

一、通过继承JFrame来显示一个窗口

一般步骤如下:

1.定义组件(需要那些组件,提前在main函数之前就定义)

2.创建组件(在构造中,首先创建,进行初始化)

3.添加组件到最顶层的组件JFrame

4.设置布局管理器(不设置时默认是BorderLayout ,如果需要设置在此)

5.设置默认窗体属性

先来看一个栗子:

import javax.swing.JButton;
import javax.swing.JFrame;

/**
 * 演示第一个JFrame
 * @author Red
 *
 */
public class Test1 extends JFrame {
    
	JFrame jf = null;
	JButton jb1 = null;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Test1  test = new Test1();

	}
	
	//构造函数
	public Test1(){
		jf = new JFrame();
		//创建button按钮
		jb1 = new JButton("我是按钮!");
		//添加button 组件
		this.add(jb1);
		
		//设置窗口标题
		this.setTitle("This is a Demo!");
		//设置大小
		this.setSize(200, 200);
		//初始位置
		this.setLocation(500, 100);
		//默认关闭窗口时退出
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		//显示
		this.setVisible(true);
	}
}


二、边界布局管理器(BorderLayout )

* 演示BoderLayout 的操作
 * 1.定义组件
 * 2.创建组件
 * 3.设置窗体属性
 *
 */
public class BorderTest extends JFrame {
	//定义组件
	JButton jb1, jb2,jb3,jb4,jb5 ;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		BorderTest bt = new BorderTest();

	}
	//构造
	public  BorderTest(){
		//创建组件
		jb1 = new JButton("东");
		jb2 = new JButton("南");
		jb3 = new JButton("西");
		jb4 = new JButton("北");
		jb5 = new JButton("中");
		//将以上的jb加到JFrame\
		this.add(jb1,BorderLayout.EAST);
		this.add(jb2, BorderLayout.SOUTH);
		this.add(jb3, BorderLayout.WEST);
		this.add(jb4, BorderLayout.NORTH);
		this.add(jb5, BorderLayout.CENTER);
		
		
		//设置窗体属性
		this.setTitle("BorderLayout Test");
		this.setSize(220, 200);
		this.setLocation(500, 100);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
	}
}


三、流式布局管理器(FlowLayout )

* 流式布局管理器案例
 *
 */
public class FlowTest extends JFrame {
	
	//定义组件
	JButton jb1,jb2,jb3,jb4,jb5;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		FlowTest ft = new FlowTest();

	}
	
	public FlowTest(){
		//创建组件
		jb1 = new JButton("关羽");
		jb2 = new JButton("张飞");
		jb3 = new JButton("赵云");
		jb4 = new JButton("马超");
		jb5 = new JButton("黄忠");
		
		//将组件添加到JFrame
		this.add(jb1);
		this.add(jb2);
		this.add(jb3);
		this.add(jb4);
		this.add(jb5);
		
		//设置布局管理器
		this.setLayout(new FlowLayout(FlowLayout.LEFT));
		
		//设置窗体类型
		this.setTitle("FlowLayout Test");
		this.setSize(220, 200);
		this.setLocation(500, 100);
		//对用户禁止改变窗口大小
		this.setResizable(false);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
	}
}

值得注意的是:如果不想让用户在拖拽窗体的时候改变大小,可以增加

		//对用户禁止改变窗口大小
		this.setResizable(false);


四、网格布局管理器(GridLayout)
演示网格布局管理器
 *
 */
public class GridTest extends JFrame {
	//定义组件
	int size =9 ;
	JButton [] jb = new JButton[size];

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		GridTest gt = new GridTest();

	}
	//构造
	public GridTest(){
		//创建组件
		for(int i=0;i<size;i++){
			
			jb[i] = new JButton(String.valueOf(i+1));
		}
		
		//设置布局管理器
		this.setLayout(new GridLayout(3,3,10,5));
		
		//将jb组件添加到JFrame
		for(int i=0;i<size;i++){
			this.add(jb[i]);
		}
		
		//设置窗体属性
		this.setTitle("GridLayout Test");
		this.setSize(220, 200);
		this.setLocation(500, 100);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
	}
}






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值