GUI编程--AWT
简介
图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)
GUI类:Swing AWT
什么不流行?
- 界面不美观。
- 需要有JRE环境!环境占存储空间比较大。
为什么学习?
- 以写出自己需要的小工具。
- 工作时,可能会遇到维护swing界面,概率小
- 了解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.表格
大小、定位、背景颜色、可见性、窗口大小是否可调。
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现