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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 广驰 中级黑马   /  2012-9-19 21:05  /  1488 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

毕老师就讲过几个布局管理器,也没深入的讲,所以用不好

比如之前的校园活动习题,我用的是流式布局,可是在性别一行因为性别用的是单选按钮和一个标签,比起用户名密码邮箱短很多,所以加了很多空格才实现的能每个一行

类似这样的能给讲讲怎么做呢

2 个回复

倒序浏览
gui的布局常用的就三种,而合理的布局都是这三种结合结合再结合去使用的。比如图片中这个布局,就是下面的代码实现的:
  1. Frame f = new Frame("myLayout");
  2. f.setLayout(new GridLayout(2,1));
  3. f.setLocation(300,400);
  4. f.setSize(300,200);
  5. f.setBackground(Color.WHITE);

  6. Panel p1 = new Panel(new BorderLayout());
  7. Panel p2 = new Panel(new BorderLayout());
  8. Panel p3 = new Panel(new GridLayout(2,1));
  9. Panel p4 = new Panel(new GridLayout(2,2));

  10. p1.add(new Button("button"),BorderLayout.WEST);
  11. p1.add(new Button("button"),BorderLayout.EAST);
  12. p3.add(new Button("button"));
  13. p3.add(new Button("button"));
  14. p1.add(p3,BorderLayout.CENTER);

  15. p2.add(new Button("button"),BorderLayout.WEST);
  16. p2.add(new Button("button"),BorderLayout.EAST);
  17. p4.add(new Button("button"));
  18. p4.add(new Button("button"));
  19. p4.add(new Button("button"));
  20. p4.add(new Button("button"));
  21. p2.add(p4,BorderLayout.CENTER);

  22. f.add(p1);
  23. f.add(p2);

  24. f.setVisible(true);
复制代码

a.png (24.98 KB, 下载次数: 20)

a.png
回复 使用道具 举报

在java中的有以下几个布局:
     1.Flowlayout(流式布局)
    默认为从上到下从左到右依次摆放,每行均居中,自动换行,也可设置对齐方式,它是Panel、Applet的缺省布局。 组件顺序和尺寸不随窗口变化而变化。

    2.BorderLayout(边界布局)
    将容器内的空间划分为东、南、西、北、中五个方位,并指明组件所在的方位,它是Window、Dialog、Frame的缺省布局方式。
    north与south有确定的高度,west与east有确定的宽度。

    3、GridLayout(行列网格状布局

这种布局方式首先放一个容纳单元的栅格,元件放到这个网格的单元个中,GridLayout构造方法:
     GridLayout(int row,int col)
    GridLayout(int row,int col,int hGap,int vGap)
       其中:row:行数
                  col: 列数
     如果某个值为零,表示这个方向可以任意扩展。
    HGap、vGap表示以象素为单位的元件间隔。

4、CardLayout(卡片叠式布局

这种布局方式,可以用来管理两个或者更多共享同一显示区域的元件。它具有以下两个构造方法:
     CardLayout()
    CardLayout(int hGap,int vGap)

    [size=+0]5、GridBayLayout(自定义网格状布局)
           GridBagLayout是所有AWT布局管理器当中最复杂的,同时他的功能也是最强大的.这种现象源于它所提供的众多的可配置选项,你几乎可以完全地控制容器的布局方式.尽管复杂性很明显,只要理解了基本思想,就很容易使用GridBagLayout了.
      GridBagLayout从它的名字中你也可以猜到,它同GridLayout一样,在容器中以网格形式来管理组件.但GridBagLayout功能要来得强大得多.
      1、GridBagLayout管理的所有行和列都可以是大小不同的.
      2、GridLayout把每个组件限制到一个单元格,而GridLayout并不这样:组件在容器中可以占据任意大小的矩形区域,
      GridBagLayout通常由一个专用类来对他布局行为进行约束,该类叫GridBagConstraints.其中的所有成员都是public的, 因此要学好如何使用GridBagLayout首先要了解有那些约束变量,以及如何设置这些约束变量.




评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1 赞一个!

查看全部评分

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