06:练习

思路:
  1. frame 总布局GridLayout(2,1)
  2. 4个面板p1( new BorderLayout())、p2 (new GridLayout(2,1))、p3(new BorderLayout())、p4 (new GridLayout(2,2))、
p2添加到p1,p4添加到p3
  1. 把p1,p3添加到frame里面,设置一些常见属性(大小,背景颜色,初始坐标,可见性,窗口关闭监听事件)就ok

 1 package com.gui.lesson1;
 2 
 3 import java.awt.*;
 4 
 5 public class Practice {
 6     public static void main(String[] args) {
 7         //总 Frame
 8         Frame frame = new Frame();
 9 
10         //大小
11         frame.setSize(400, 300);
12         //初始位置
13         frame.setLocation(300, 400);
14         //背景颜色
15         frame.setBackground(Color.BLACK);
16         //显示出来
17         frame.setVisible(true);
18 
19         frame.setLayout(new GridLayout(2, 1));
20 
21         //4个面板
22         Panel p1 = new Panel(new BorderLayout());
23         Panel p2 = new Panel(new GridLayout(2, 1));
24         Panel p3 = new Panel(new BorderLayout());
25         Panel p4 = new Panel(new GridLayout(2, 2));
26 
27         //上面ok
28         p1.add(new Button("East-1"), BorderLayout.EAST);
29         p1.add(new Button("West-1"), BorderLayout.WEST);
30         p2.add(new Button("p2-btn-1"));
31         p2.add(new Button("p2-btn-2"));
32         p1.add(p2, BorderLayout.CENTER);
33 
34         //下面ok
35         p3.add(new Button("East-2"), BorderLayout.EAST);
36         p3.add(new Button("West-2"), BorderLayout.WEST);
37         for (int i = 0; i < 4; i++) {
38             p4.add(new Button("p4-btn-" + i));
39         }
40         p3.add(p4, BorderLayout.CENTER);
41 
42         //把p1/p3放进总窗口里面
43         frame.add(p1);
44         frame.add(p3);
45         
46         frame.addWindowListener(new WindowAdapter() {
47             @Override
48             public void windowClosing(WindowEvent e) {
49                 System.exit(0);
50             }
51         });
52     }
53 }
View Code

总结:
  1. Frame是一个顶级窗口
  2. Panel无法单独显示,必须添加到某个容器中
  3. 布局管理器:流式FlowLayout、东西南北中BorderLayout、表格GridLayout
  4. 大小、定位、背景颜色、可见性、监听
posted @ 2020-03-30 16:25  断浮  阅读(138)  评论(0编辑  收藏  举报