一、流布局FlowLayout
默认地,自左向右逐个排列
当一行排满时,自动排到下一行
setPreferredSize():控制每个控件的显示高度和宽度
案例效果
MyFrame.java
packageswing布局;import javax.swing.*;import java.awt.*;public class MyFrame extendsJFrame {publicMyFrame(String title){super(title);
Container contentPane=getContentPane();//这里的参数设置的是对齐方式FlowLayout.LEFT左对齐
LayoutManager layout=newFlowLayout(FlowLayout.LEFT);
contentPane.setLayout(layout);
JLabel a1=new ColorfulLabel("1",Color.YELLOW);
JLabel a2=new ColorfulLabel("2",Color.GREEN);
JLabel a3=new ColorfulLabel("3",Color.LIGHT_GRAY);
JLabel a4=new ColorfulLabel("4",Color.CYAN);
JLabel a5=new ColorfulLabel("5",Color.WHITE);
contentPane.add(a1);
contentPane.add(a2);
contentPane.add(a3);
contentPane.add(a4);
contentPane.add(a5);//设置宽和高
a4.setPreferredSize(new Dimension(150,30));
}private static class ColorfulLabel extendsJLabel{publicColorfulLabel(String text,Color bgColor){super(text);
setOpaque(true);