布局管理器

 布局管理器:布局管理就是用于指定组件的 摆放位置的。 
每种布局管理器都有自己的摆放风格 

BorderLayout(边框布局管理器)

摆放的风格: 上北  、 下南 、 左西、 右东 , 中 
Borderlayout 要注意的事项:
1. 使用Borderlayout添加组件的时候,如果没有指定组件的方位,那么默认添加到中间的位置上。
2. 使用BorderLayout的时候,如果东南西北那个方向没有对应 的组件,那么中间位置的组件就会占据其空缺的位置。

3. 窗体默认的布局管理器就是Borderlayout.

public class Demo1 {

	public static void main(String[] args) {
		JFrame frame = new JFrame("边框布局管理器");
		//创建一个边框布局管理器
		BorderLayout borderLayout = new BorderLayout();
		//让borderlayout管理frame窗体。
		frame.setLayout(borderLayout);
		
		frame.add(new JButton("北"),BorderLayout.NORTH);
		frame.add(new JButton("南"),BorderLayout.SOUTH);
		frame.add(new JButton("西"),BorderLayout.WEST);
		frame.add(new JButton("东"),BorderLayout.EAST);
		frame.add(new JButton("中"),BorderLayout.CENTER);
		//初始化窗体
		FrameUtil.initFrame(frame, 300, 300);
	}
	
}

流式布局管理器(FlowLayout)

流式布局管理器要注意的事项:
1. 流式布局管理器默认情况是居中对齐的。
2. panel默认的局部管理器就是FlowLayout.
public class Demo2 {

	public static void main(String[] args) {
		JFrame frame = new JFrame("窗体");
		//创建面板
		JPanel panel = new JPanel();
		frame.add(panel);
		//创建一个流式布局管理器
		FlowLayout flowLayout = new FlowLayout(FlowLayout.LEFT, 0, 30);// FlowLayout.LEFT 指定对齐的方式。
		//让流式布局管理器管理frame窗体
		panel.setLayout(flowLayout);
		
		panel.add(new JButton("按钮1"));
		panel.add(new JButton("按钮2"));
		panel.add(new JButton("按钮3"));
		panel.add(new JButton("按钮4"));
		
		//初始化窗体
		FrameUtil.initFrame(frame, 300, 300);
		
	}
	
}

 表格布局管理器(GridLayout)

 注意的事项: 如果表格数量不够使用时,默认会多加一列。
public class Demo3 {

	public static void main(String[] args) {
		JFrame frame = new JFrame("计算器");
		//创建表格布局管理器
		GridLayout gridLayout = new GridLayout(4, 4, 1, 2);
		
		//让窗体交给表格布局管理器管理
		frame.setLayout(gridLayout);
		for(int i = 0 ; i<10; i++){
			frame.add(new JButton(i+""));
		}
		frame.add(new JButton("+"));
		frame.add(new JButton("-"));
		frame.add(new JButton("*"));
		frame.add(new JButton("/"));
		frame.add(new JButton("="));
		frame.add(new JButton("."));
		
//		frame.add(new JButton("aa"));
		
		//初始化窗体
		FrameUtil.initFrame(frame, 300, 300);
		
		
		
	}
	
}

卡片布局管理器(CardLayout)

public class Demo4 {

	public static void main(String[] args) {
		JFrame frame = new JFrame("卡片布局管理器");
		final JPanel panel = new JPanel();
		frame.add(panel);
		
		//创建一个卡片布局管理器
		final CardLayout cardLayout = new CardLayout();
		panel.setLayout(cardLayout);
		
		//往面板添加数据
		JButton button = new JButton("黑桃A");
		panel.add(button);
		panel.add(new JButton("红桃K"));
		panel.add(new JButton("梅花6"));
		panel.add(new JButton("方块2"));
		
		button.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				cardLayout.next(panel);  //下一张
//				cardLayout.previous(parent);  上一张
			}
		});
		
		
		//初始化窗体
		FrameUtil.initFrame(frame,300, 300);
		
		
		
		
		
		
	}
	
}






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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值