第11章 GUI 04 布局管理器2

鱼欲遇雨:每日都学习一点,持之以恒,天道酬勤!不能用电脑时,提前补上!(2012.9.7)

 

BorderLayout 布局管理器
1   BorderLayout是Frame类的默认布局管理器。
2   BorderLayout将整个容器的布局划分成东(EAST)西(WEST)南(SOUTH)北(NORTH)中(CENTER)五个区域,组件只能被添
加到指定的区域。
3   如不指定组件的加入部分,则默认加入到CENTER区。
4   每个区域只能加入一个组件,如加入多个,则先前加入的会被覆盖。
5   BorderLayout型布局管理器尺寸缩放原则:
----------北,南两个区域在水平方向缩放。
----------东,西两个区域在垂直方向缩放。
----------中部可在两个方向上缩放。

// TestBorderLayout.java

import java.awt.*;

public class TestBorderLayout {
	public static void main(String args[]) {
		Frame f = new Frame(" Border Layout");
		Button bn = new Button("BN");
		Button bs = new Button("BS");
		Button be = new Button("BE");
		Button bw = new Button("BW");
		Button bc = new Button("BC");
		
		f.add(bn, "North");
		f.add(bs, "South");
		f.add(be, "East");
		f.add(bw, "West");
		f.add(bc, "Center");
		
		/*
		f.add(bn, BorderLayout.NORTH);
		f.add(bs, BorderLayout.SOUTH);
		f.add(be, BorderLayout.EAST);
		f.add(bw, BorderLayout.WEST);
		f.add(bc, BorderLayout.CENTER);
		*/
		f.setSize(200, 200);
		f.setVisible(true);
	}
}


 




GridLayout 布局管理器
1   GridLayout型布局管理器将空间划分成规则的矩形网格,每个单元格区域大小相等。组件被添加到每个单元格中,先从

做到右添满一行后换行,再从上到下。
2   在GridLayout构造方法中指定分割的行数和列数:
----------如: GridLayout(3,4)

// TestGridLayout.java

import java.awt.*;

public class TestGridLayout {
	public static void main(String args[]) {
		Frame f = new Frame("Grid Layout");
		Button b1 = new Button("b1");
		Button b2 = new Button("b2");
		Button b3 = new Button("b3");
		Button b4 = new Button("b4");
		Button b5 = new Button("b5");
		Button b6 = new Button("b6");
		//Button b7 = new Button("b7");
		f.setLayout(new GridLayout(3,2));
		f.add(b1);
		f.add(b2);
		f.add(b3);
		f.add(b4);
		f.add(b5);
		f.add(b6);
		//f.add(b7);
		f.pack();
		f.setVisible(true);
	}
}


 


使用Container的嵌套实现下面布局。

 

// TestContainer.java

import java.awt.*;

public class TestContainer {
	public static void main(String args[]) {
		Frame f = new Frame("Java Frame");
		Button b1 = new Button("BUTTON1");
		Panel p1 = new Panel(new GridLayout(2, 1));
		Button b2 = new Button("BUTTON2");
		Button b3 = new Button("BUTTON3");
		Button b4 = new Button("BUTTON4");
		Button b5 = new Button("BUTTON5");
		Panel p2 = new Panel(new GridLayout(2, 2));
		Button b6 = new Button("BUTTON6");
		Button b7 = new Button("BUTTON7");
		Button b8 = new Button("BUTTON8");
		Button b9 = new Button("BUTTON9");
		Button b10 = new Button("BUTTON10");

		f.setLayout(new GridLayout(2, 3));
		f.add(b1);
		p1.add(b2);
		p1.add(b3);
		f.add(p1);
		f.add(b4);
		f.add(b5);
		p2.add(b6);
		p2.add(b7);
		p2.add(b8);
		p2.add(b9);
		f.add(p2);
		f.add(b10);
		f.setSize(600, 400);
		f.setVisible(true);
	}
}



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值