黑马程序员技术交流社区
标题:
awt中的BorderLayout布局问题。。
[打印本页]
作者:
张旺达
时间:
2013-5-26 20:42
标题:
awt中的BorderLayout布局问题。。
import java.awt.*;
public class BorderLayoutTest
{
public static void main(String[] args)
{
Frame f = new Frame("测试窗口");
f.setLayout(new BorderLayout(30,5));
f.add(new Button("南"),BorderLayout.SOUTH);
f.add(new Button("北"),BorderLayout.NORTH);
f.add(new Button("中"));
f.add(new Button("东"),BorderLayout.EAST);
f.add(new Button("西"),BorderLayout.WEST);
f.pack();
f.setVisible(true);
}
}
复制代码
结果是东西南北中嘛,但是我想说这个BorderLayout最多只能放5个组件吗?是不是有点不实用啊。。。没有放置组件的地方是不是会出现空白?
123.png
(5.29 KB, 下载次数: 0)
下载附件
2013-5-26 20:42 上传
1
作者:
~与狼共舞~
时间:
2013-5-26 20:49
本帖最后由 ~与狼共舞~ 于 2013-5-26 21:02 编辑
BorderLayout将容器分为EAST,SOUTH,WEST,NORTH,CENTER五个区域。
我们在向此容器中添加组件时,需要制定添加到的区域,否则就默认添加到中间区域里,而当我们向一个区域添加多个组件时,后放入的组件会覆盖前面的组件。
BorderLayout
有两个构造器,
BorderLayout()
和
BorderLayout
(int hgap,int vgap),hgap
和
vgap
代表的水平间距和垂直间距。我们在指定组件添加到的区域时,可以使用它的静态常量:
BorderLayout.EAST, BorderLayout.WEST, BorderLayout.NORTH, BorderLayout.SOUTH, BorderLayout.CENTER
。
例如:
Frame f =
new
Frame();
f.setLayout(
new
BorderLayout(5,5
));
f.add(
new
Button(“南”),SOUTH);
//
将一个按钮添加到南的位置
BorderLayout
最多只能放
5
个组件,
但是实际上我们可以先在
Panel
中添加多个组件,再将
Panel
添加到
BorderLayout
布局管理器中,因此我们实际可以放的组件要远远超过
5
个。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2