黑马程序员技术交流社区

标题: 有关布局的问题<已解决> [打印本页]

作者: 郑冬    时间: 2012-6-9 13:51
标题: 有关布局的问题<已解决>
本帖最后由 郑冬 于 2012-6-10 16:37 编辑

如上两张图,显示的所有按钮都紧挨在一起,如果希望用FlowLayout,GirdLayout等布局管理器指定组件的间距该怎么办?
作者: ☆丿灬北纬28°    时间: 2012-6-9 18:31
GridLayout(int rows, int columns, int hGap, int vGap)   看到了吧  后面的int hGap, int vGap就是设置水平和垂直间距的额
FlowLayout也一样可以的
作者: 刘伯阳    时间: 2012-6-9 18:33
楼主是要调整按钮之间的间距吧,可以采用FlowLayout。
FlowLayout布局管理器使用最为简单,是按照组件添加的顺序由左至右排列在容器内,一行排满后自动排列新一行。在FlowLayout中可以指定组件的对齐方式,即:FlowLayout.RIGHT(居右)、FlowLayout.CENTER(居中)和FlowLayout.LEFT(居左)。
它是可以允许指定组件间距的像素值。

    FlowLayout有三个构造方法。
    public FlowLayout()
    创建一个FlowLayout对象,默认的对齐方式是居中对齐,水平和垂直间距都是5个像素。
    public FlowLayout(int align)
    按照指定的对齐方式创建FlowLayout对象,默认的水平和垂直间距都是5个像素。
    public FlowLayout(int align, int hGap, int vGap)               -------------------------------》调整此处int hGap, int vGap的值就可以调整按钮之间的间距了!
    这个方法按照指定的对齐方式和间距创建FlowLayout对象。
  演示FlowLayout布局管理器的使用,在例子中对框架中的10个按钮进行排列。
    1 FlowLayoutTest.java
    2 import javax.swing.*;
    3 import java.awt.*;
    4 public class FlowLayoutTest extends JFrame
    5 {
    6    public FlowLayoutTest ()
    7    {
    8       getContentPane().setLayout(new FlowLayout(FlowLayout.LEFT, 10, 10));------------------》此处可以更改间距。
    9       for (int i=1; i<=10; i++)
    10       getContentPane().add(new JButton("Button " + i));
    11    }
    12    public static void main(String args[])
    13    {
    14       FlowLayoutTest frame = new FlowLayoutTest ();
    15       frame.setTitle("Test FlowLayout");
    16       frame.setSize(400, 150);
    17       frame.setVisible(true);
    18    }
    19 }


希望对楼主有所帮助
作者: 郑冬    时间: 2012-6-9 18:39
刘伯阳 发表于 2012-6-9 18:33
楼主是要调整按钮之间的间距吧,可以采用FlowLayout。
FlowLayout布局管理器使用最为简单,是按照组件添加 ...

非常感谢,很有帮助




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2