java 布局练习

实现如下图所示的布局
在这里插入图片描述
思路:将整个窗口拆分为两大块,上面面板和下面面板,其中上面的面板包括两个面板,一个是大的面板p1,p1里面有p2面板。p1面板采用BorderLayout布局,p2为GridLayout布局。同理进行下面面板的布局。

package bili_01;

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Test {
    
    
	public static void main(String[] args) {
    
    
		Frame frame = new Frame("练习布局");
		//设置窗口大小
		frame.setSize(600, 600);
		// 总的。分别为2行1列,即上面和下面
		frame.setLayout(new GridLayout(2, 1));
		
		// 上面的总面板
		Panel p1 = new Panel(new BorderLayout());
		// 上面中间的面板
		Panel p2 = new Panel(new GridLayout(2, 1));
		// 上面左边和右边的按钮
		p1.add(new Button("p1-west"), BorderLayout.WEST);
		p1.add(new Button("p1-east"), BorderLayout.EAST);
		// 上面中间的上下按钮
		p2.add(new Button("p2-上"));
		p2.add(new Button("p2-下"));
		// 将p2加入到p1总面板的中间
		p1.add(p2, BorderLayout.CENTER);
		//窗口添加p1面板
		frame.add(p1);

		// 下面的总面板
		Panel p3 = new Panel(new BorderLayout());
		// 下面总面板的中间面板
		Panel p4 = new Panel(new GridLayout(2,2));
		// 下面的左右按钮
		p3.add(new Button("p3-west"), BorderLayout.WEST);
		p3.add(new Button("p3-east"), BorderLayout.EAST);
		// 下面中间的四个按钮
		p4.add(new Button("p4-1"));
		p4.add(new Button("p4-2"));
		p4.add(new Button("p4-3"));
		p4.add(new Button("p4-4"));
		//将p4加到p3的中间
		p3.add(p4,BorderLayout.CENTER);
		//窗口添加p3面板
		frame.add(p3);
		
		//显示
		frame.setVisible(true);
		
		//监听关闭事件
		frame.addWindowListener(new WindowAdapter() {
    
    
			public void windowClosing(WindowEvent e) {
    
    
				System.exit(0);
			}
		});
	}
}

猜你喜欢

转载自blog.csdn.net/tscn1/article/details/106744949