Layout Managers(布局管理器)
作者:xcbeyond
疯狂源自梦想,技术成就辉煌!微信公众号:《程序猿技术大咖》号主,专注后端开发多年,拥有丰富的研发经验,乐于技术输出、分享,现阶段从事微服务架构项目的研发工作,涉及架构设计、技术选型、业务研发等工作。对于Java、微服务、数据库、Docker有深入了解,并有大量的调优经验。
import java.awt.*;
import javax.swing.*;
public class LayoutManagers {
public static void main(String[] args) {
JFrame frame=new JFrame(“Layout Managers”);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTabbedPane tp=new JTabbedPane(); //创建一个选项卡tp
tp.addTab(“Intro”, new IntroPanel());
tp.addTab(“Flow”,new FlowPanel());
tp.addTab(“Border”,new BorderPanel());
tp.addTab(“Grid”, new GridPanel());
tp.addTab(“Box”, new BoxPanel());
frame.getContentPane().add(tp);
frame.pack();
frame.setVisible(true);
}
}
class IntroPanel extends JPanel{
public IntroPanel(){
setBackground(Color.green); //设置背景色
JLabel l1=new JLabel(“Layout Manager Demonstration “);
JLabel l2=new JLabel(“Choose a tab to see an example of “+”a layout manager.”);
add(l1);
add(l2);
}
}
class FlowPanel extends JPanel{
public FlowPanel(){
setLayout(new FlowLayout()); //FlowLayout(流布局管理器)
setBackground(Color.green);
//创建按钮
JButton b1=new JButton(“BUTTON 1″);
JButton b2=new JButton(“BUTTON 2″);
JButton b3=new JButton(“BUTTON 3″);
JButton b4=new JButton(“BUTTON 4″);
JButton b5=new JButton(“BUTTON 5″);
JButton b6=new JButton(“BUTTON 6″);
//把按钮添加到容器中
add(b1);
add(b2);
add(b3);
add(b4);
add(b5);
add(b6);
}
}
class BorderPanel extends JPanel{
public BorderPanel(){
setLayout(new BorderLayout()); //BorderLayout(边布局管理器)
setBackground(Color.green);
//创建按钮
JButton b1=new JButton(“BUTTON 1″);
JButton b2=new JButton(“BUTTON 2″);
JButton b3=new JButton(“BUTTON 3″);
JButton b4=new JButton(“BUTTON 4″);
JButton b5=new JButton(“BUTTON 5″);
//把按钮添加到容器中
add(b1,BorderLayout.CENTER);
add(b2,BorderLayout.NORTH);
add(b3,BorderLayout.SOUTH);
add(b4,BorderLayout.EAST);
add(b5,BorderLayout.WEST);
}
}
class GridPanel extends JPanel{
public GridPanel(){
setLayout(new GridLayout(2,3)); //GridLayout(网格布局管理器)
setBackground(Color.green);
//创建按钮
JButton b1=new JButton(“BUTTON 1″);
JButton b2=new JButton(“BUTTON 2″);
JButton b3=new JButton(“BUTTON 3″);
JButton b4=new JButton(“BUTTON 4″);
JButton b5=new JButton(“BUTTON 5″);
JButton b6=new JButton(“BUTTON 6″);
//把按钮添加到容器中
add(b1);
add(b2);
add(b3);
add(b4);
add(b5);
add(b6);
}
}
class BoxPanel extends JPanel{
public BoxPanel(){
setLayout(new BoxLayout(this,BoxLayout.Y_AXIS));
setBackground(Color.green);
//创建按钮
JButton b1=new JButton(“BUTTON 1″);
JButton b2=new JButton(“BUTTON 2″);
JButton b3=new JButton(“BUTTON 3″);
JButton b4=new JButton(“BUTTON 4″);
JButton b5=new JButton(“BUTTON 5″);
JButton b6=new JButton(“BUTTON 6″);
//把按钮添加到容器中
add(b1);
add(Box.createRigidArea(new Dimension(0,10)));
add(b2);
add(Box.createVerticalGlue());
add(b3);
add(b4);
add(Box.createRigidArea(new Dimension(0,20)));
add(b5);
add(b6);
}
}