java的swing布局(二)流布局
date: 2019-11-03 20:53:53
流(Flowlayout)布局管理器是最基本的布局管理器,像“流”一样,从左到右知道占满这一行,然后再移动向下一行,常用的用法如下:
- public Flowlayout()
- public Flowlayout(int align)
- public Flowlayout(int align,int horizGap,int vertGap)
其中align表示每一行的对齐方式 :align=0,表示左对齐,align=1,表示中间对齐,align=2,表示右对齐; horizGap,vertGap分别表示组件之间的水平间隔和垂直间隔。看下面例子:
import java.awt.*;
import javax.swing.*;
public class Jig extends JFrame{
public void create(String title) {
JFrame jf=new JFrame();
Container c=jf.getContentPane();
JPanel p1=new JPanel();
for(int i=0;i<10;i++) {
p1.add(new JButton("部件"+(i+1)));
}
c.add(p1);
jf.setTitle(title);
p1.setLayout(new FlowLayout(0,30, 10)); //① 设置为左对齐,部件之间的水平距离30,垂直距离都为10
jf.setBounds(200, 200, 400, 200);
jf.setVisible(true);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new Jig().create("流布局");
}
}
运行结果如下:
当你随意调整页面大小时会发现,总是优先从左边开始填充
如果采用默认的方式 也就是说 ① 行改为 p1.setLayout(new FlowLayout()); ,则默认以中间对齐,横向拉伸后效果如下: