您的位置:首页 > 产品设计 > UI/UE

第11章 GUI 04 布局管理器2

2012-09-07 14:35 197 查看
鱼欲遇雨:每日都学习一点,持之以恒,天道酬勤!不能用电脑时,提前补上!(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);
}
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: