JavaGui入门—布局的嵌套使用附实例

JavaGui布局

常见布局

  1. BorderLayout(边界布局)
    1. BorderLayout.EAST
    2. BorderLayout.WAST
    3. BorderLayout.NORTH
    4. BorderLayout.SNUTH
  2. FlowLayout(流式布局)
    1. FlowLayout.LEFT
    2. FlowLayout.CENTER
    3. FlowLayout.RIGHT
  3. GridLayout(表格布局)
    1. GridLayout(行,列)
  4. BoxLayout(盒子布局)
  5. null(空)

布局嵌套实例

package Day08;

import java.awt.*;

public class Demo02 {
	public static void main(String[] args) {
		Frame frame=new Frame();
	//	frame.setBounds(100, 100, 500, 300);
		frame.pack();
		//pack函数,自适应大小
		frame.setVisible(true);
		Button btn1=new Button("btn1");
		Button btn2=new Button("btn2");
		Button btn3=new Button("btn3");
		Button btn4=new Button("btn4");
		Button btn5=new Button("btn5");
		Button btn6=new Button("btn6");
		Button btn7=new Button("btn7");
		Button btn8=new Button("btn8");
		Button btn9=new Button("btn9");
		Button btn10=new Button("btn10");
		
		Panel panel1=new Panel();
		Panel panel2=new Panel();
		Panel panel3=new Panel();
		Panel panel4=new Panel();
		Panel panel5=new Panel();
		//左面板
		panel1.setLayout(new GridLayout(2,1));
		panel1.add(btn10);
		panel1.add(btn9);
		//中上面板
		panel2.setLayout(new GridLayout(2,1));
		panel2.add(btn8);
		panel2.add(btn7);
		//中下面板
		panel3.setLayout(new GridLayout(2,2));
		panel3.add(btn6);
		panel3.add(btn5);
		panel3.add(btn4);
		panel3.add(btn3);
		//中面板,由panel2以及panel3构成
		panel4.setLayout(new GridLayout(2,1));
		panel4.add(panel2);
		panel4.add(panel3);
		//右面板
		panel5.setLayout(new GridLayout(2,1));
		panel5.add(btn2);
		panel5.add(btn1);
		//窗口采用表单布局,缺陷是未实现左右中面板大小不同
		frame.setLayout(new GridLayout());
		frame.add(panel5);
		frame.add(panel4);
		frame.add(panel1);
		
	}
}

运行效果如图:



package Day08;

import java.awt.*;

public class Demo03 {
	public static void main(String[] args) {
		Frame frame=new Frame();
		frame.pack();
		frame.setVisible(true);
		frame.setLayout(new GridLayout(2,1));
		
		Panel up=new Panel(new BorderLayout());
		Panel down=new Panel(new BorderLayout());
		Panel upCenter=new Panel(new GridLayout(2,1));
		Panel downCenter=new Panel(new GridLayout(2,2));
		
		up.add(new Button("Eest----1"),BorderLayout.EAST);
		up.add(new Button("West----1"),BorderLayout.WEST);
		down.add(new Button("Eest----2"),BorderLayout.EAST);
		down.add(new Button("West----2"),BorderLayout.WEST);
		
		upCenter.add(new Button());
		upCenter.add(new Button());
		downCenter.add(new Button());
		downCenter.add(new Button());
		downCenter.add(new Button());
		downCenter.add(new Button());
		
		up.add(upCenter,BorderLayout.CENTER);
		down.add(downCenter,BorderLayout.CENTER);
		
		frame.add(up);
		frame.add(down);
	}
}

运行效果如图:

posted @ 2021-02-23 13:13  LR's-bolg  阅读(754)  评论(0)    收藏  举报