需求:
代码 :
import java.awt.*;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class LayoutDemo1 extends JFrame {
public static void main(String[] args) {
LayoutDemo1 ld1=new LayoutDemo1();
//添加面板
JPanel jp1=new JPanel();
JPanel jp2=new JPanel();
JPanel jp3=new JPanel();
JPanel jp4=new JPanel();
JPanel jp5=new JPanel();
//设置面板颜色,以表区分
jp1.setBackground(Color.blue);
jp2.setBackground(Color.red);
jp3.setBackground(Color.green);
jp4.setBackground(Color.black);
jp5.setBackground(Color.yellow);
//设置按钮
JButton jbt1=new JButton("JBUTTON1");
JButton jbt2=new JButton("JBUTTON2");
JButton jbt3=new JButton("JBUTTON3");
JButton jbt4=new JButton("JBUTTON4");
JButton jbt5=new JButton("JBUTTON5");
JButton jbt6=new JButton("JBUTTON6");
JButton jbt7=new JButton("JBUTTON7");
JButton jbt8=new JButton("JBUTTON8");
JButton jbt9=new JButton("JBUTTON9");
JButton jbt10=new JButton("JBUTTON10");
//定义布局
GridLayout gridLayout =new GridLayout(2,1);
GridLayout gridLayout1 =new GridLayout(2,2);
//给面板添加布局
jp1.setLayout(gridLayout );
jp2.setLayout(new BorderLayout());
jp3.setLayout(gridLayout);
jp4.setLayout(new BorderLayout());
jp5.setLayout(gridLayout1);
//添加按钮1,2
jp2.add(jbt1,BorderLayout.WEST);
jp2.add(jbt2,BorderLayout.EAST);
//将面板3添加至面板2
jp2.add(jp3,BorderLayout.CENTER);
//将面板2,4添加至面板1
jp1.add(jp2);
jp1.add(jp4);
//添加按钮3,4
jp3.add(jbt3);
jp3.add(jbt4);
//在面板4中依照边界布局添加按钮5,6
jp4.add(jbt5,BorderLayout.WEST);
jp4.add(jbt6,BorderLayout.EAST);
//在面板4中依照边界布局添加面板5
jp4.add(jp5,BorderLayout.CENTER);
//在面板5中依照网格布局添加按钮7,8,9,10
jp5.add(jbt7);
jp5.add(jbt8);
jp5.add(jbt9);
jp5.add(jbt10);
//设置窗体属性
ld1.add(jp1);//将面板1添加至窗体中
ld1.setSize(600,400);//设置窗体大小
ld1.setVisible(true);//设置窗体可视性为真
}
}
运行效果:
草图: