A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张旺达 高级黑马   /  2013-5-26 20:42  /  1586 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.awt.*;
  2. public class BorderLayoutTest
  3. {
  4. public static void main(String[] args)
  5. {
  6. Frame f = new Frame("测试窗口");
  7. f.setLayout(new BorderLayout(30,5));
  8. f.add(new Button("南"),BorderLayout.SOUTH);
  9. f.add(new Button("北"),BorderLayout.NORTH);
  10. f.add(new Button("中"));
  11. f.add(new Button("东"),BorderLayout.EAST);
  12. f.add(new Button("西"),BorderLayout.WEST);

  13. f.pack();

  14. f.setVisible(true);
  15. }
  16. }
复制代码
结果是东西南北中嘛,但是我想说这个BorderLayout最多只能放5个组件吗?是不是有点不实用啊。。。没有放置组件的地方是不是会出现空白?

123.png (5.29 KB, 下载次数: 0)

1

1

评分

参与人数 1技术分 +1 收起 理由
HM汪磊 + 1

查看全部评分

1 个回复

倒序浏览
本帖最后由 ~与狼共舞~ 于 2013-5-26 21:02 编辑

BorderLayout将容器分为EAST,SOUTH,WEST,NORTH,CENTER五个区域。我们在向此容器中添加组件时,需要制定添加到的区域,否则就默认添加到中间区域里,而当我们向一个区域添加多个组件时,后放入的组件会覆盖前面的组件。BorderLayout有两个构造器,BorderLayout()BorderLayout(int hgap,int vgap),hgapvgap代表的水平间距和垂直间距。我们在指定组件添加到的区域时,可以使用它的静态常量: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个。

评分

参与人数 1技术分 +1 收起 理由
HM汪磊 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马