GUI编程--AWT

简介

图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)

GUI类:Swing  AWT

什么不流行?

  1. 界面不美观。
  2. 需要有JRE环境!环境占存储空间比较大。

为什么学习?

  1. 以写出自己需要的小工具。
  2. 工作时,可能会遇到维护swing界面,概率小
  3. 了解MVC架构,了解监听

GUI组件

  • 窗口
  • 弹窗
  • 面板
  • 文本框
  • 列表框
  • 按钮
  • 图片
  • 监听事件
  • 鼠标
  • 键盘事件

外挂:通常用java写IDEA包 也是JAVA写的

AWT介绍

AWT(Abstract Window Toolkit),中文译为抽象窗口工具包

包含了很多类和接口!

组件:窗口、按钮、文本框

 

 

IDEA自带:java.awt

第一个Frame窗口

封装建立多个frame

 

 Panel面板

布局管理器

 

  • 流式布局

  • 东西南北中

  • 表格布局

 流式布局(左中右)Flowlayout

 

 

 东西南北中 BorderLayout

 

 表格布局 GridLayout

 练习

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package com.luckylu.gui;
 
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
 
public class TestAwt {
    public static void main(String[] args) {
        // 建立一个窗口
        Frame frame = new Frame();
        frame.setSize(400,300);
        frame.setLocation(300,300);
        frame.setBackground(Color.blue);
        frame.setVisible(true);
 
        //定义表格布局2行1列
        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("1-EAST"),BorderLayout.EAST);
        p1.add(new Button("1-WEST"),BorderLayout.WEST);
        p2.add(new Button("P2-BTN-1"));
        p2.add(new Button("P2-BTN-2"));
        p1.add(p2,BorderLayout.CENTER);
 
        //下面
        p3.add(new Button("1-EAST"),BorderLayout.EAST);
        p3.add(new Button("1-WEST"),BorderLayout.WEST);
        //中间的四个
        for (int i = 0; i < 4; i++) {
            p4.add(new Button("P4-BTN-"+i));
        }
        p3.add(p4,BorderLayout.CENTER);
 
        frame.add(p1);
        frame.add(p3);
 
        //关闭
        frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
    }
}

  结果

 总结:

Frame是一个窗口

Panel 无法单独显示,必须添加到某个容器中。

布局管理器

  1.流式

  2.东西南北

  3.表格

大小、定位、背景颜色、可见性、窗口大小是否可调。

 

posted @   luckylu1983  阅读(44)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示