一自带的流式layout布局器
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.FlowLayout;
public class Demonstration extends JFrame {
public Demonstration() {
setTitle("ColorLabel 示例");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 200);
setLayout(new FlowLayout());
JPanel panel = new JPanel(new FlowLayout());
panel.add(new ColorLabel("红色标签", Color.RED));
panel.add(new ColorLabel("绿色标签", Color.GREEN));
panel.add(new ColorLabel("蓝色标签", Color.BLUE));
panel.add(new ColorLabel("黄色标签", Color.YELLOW));
add(panel);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
Demonstration demo = new Demonstration();
demo.setVisible(true);
});
}
}
或
JPanel panel = new JPanel(new FlowLayout());
LayoutManager flowLayout= new FlowLayout();
frame.setLayout(flowLayout);
或直接frame.set(new FlowLayout()),根据横向内容多少往下挤
二borderlayout
由
中,东南西北,构成能够分别设定宽度
import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.JButton;
import javax.swing.JFrame;
public class BorderLayoutDemo {
public static void main(String[] args) {
JFrame frame=new JFrame("边界布局"); //创建一个窗口
frame.setSize(300,200);//设置窗口的大小
frame.setLayout(new BorderLayout(10,10));//设置为边界布局管理器
Container contentPane=frame.getContentPane();//获取窗口的内容窗格
//创建五个按钮分别添加到窗口的北、南、西、东和中部
contentPane.add(new JButton("北部"),BorderLayout.NORTH);
contentPane.add(new JButton("南部"),BorderLayout.SOUTH);
contentPane.add(new JButton("西部"),BorderLayout.WEST);
contentPane.add(new JButton("东部"),BorderLayout.EAST);
contentPane.add(new JButton("中部"),BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}