GUI-1


GUI

问题

image-20220117135521846

代码实现

package com.lei.lesson01;
?
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
?
public class TestFrameWork {
   public static void main(String[] args) {
       //总的frame
       Frame frame = new Frame();
?
       frame.setBackground(Color.BLACK);
       frame.setLocation(300,400);
       frame.setSize(400,300);
       frame.setVisible(true);
       frame. setLayout(new GridLayout(2,1));
       //4个面板
       Panel p1=new Panel(new BorderLayout());
       Panel p2=new Panel(new GridLayout(2,1));
       Panel p3=new Panel(new BorderLayout());
       Panel p4=new Panel(new GridLayout(2,2));
?
?
       p1.add(new Button("E-1"),BorderLayout.EAST);
       p1.add(new Button("W-1"),BorderLayout.WEST);
       p2.add(new Button("1"));
       p2.add(new Button("2"));
       p1.add(p2,BorderLayout.CENTER);
?
       p3.add(new Button("E-2"),BorderLayout.EAST);
       p3.add(new Button("W-2"),BorderLayout.WEST);
       p4.add(new Button("1"));
       p4.add(new Button("2"));
       p4.add(new Button("3"));
       p4.add(new Button("4"));
       p3.add(p4,BorderLayout.CENTER);
?
       frame.add(p1);
       frame.add(p3);
//点击关闭
       frame.addWindowListener(new WindowAdapter() {
           @Override
           public void windowClosing(WindowEvent e) {
               System.exit(0);
          }
      });
  }
?
?
}

结果

 

 

总结

  1. Frame是一个顶级窗口

  2. Panel无法单独显示,必须添加在某个容器中

  3. 布局管理器

    1. 流失布局

    2. 东西南北中

    3. 表格

  4. 大小、定位、颜色、可见性、监听

image-20220117140556040

GUI