java 图形化小工具Abstract Window Toolit 事件处理

- EventSource(事件源):事件发生的场所,通常就是各个组件,例如按钮、窗口,菜单等。
- Event (事件封装了GUI组件上发生的特定事情(通常就是一次用户操作)。如果程序需要获得GUI组件上所发生事件的相关信息,都通过Event象来取得。
- EventListener(事件监昕器):负责监听事件源所发生的事件,并对各种事件做出响应处理
3,事件的分类:
1,低级事件:
- ComponentEvent: 组件事件,当组件尺寸发生变化、位置发生移动、显示 隐藏状态发生改变的时候触发该事件。
- ContainerEvent: 容器事件,当容器里发生添加组件、删除组件时触发该事件。
- WindowEvent: 窗口事件,当窗口状态发生改变(如打开、关闭、最大化、最小化)时触发该事件
- FocusEvent: 焦点事件,当组件得到焦点或失去焦点时触发该事件
- KeyEvent: 键盘事件,当按键被按下、松开、单击时触发该事
- MouseEvent: 鼠标事件,当进行单击、按下、松开、移动鼠标等动作时触发该事件
- PaintEvent: 组件绘制事件,该事件是个特殊的事件类型,GUI组件调update/paint方法来呈现自身时触发该事件,该事件并非专用于事件处理模型
2,高级事件:
- ActionEvent:动作事件,当按钮、菜单项被单击,在TextField中按 Enter 键时触发该事件。
- AdjustmentEvent: 调节事件,在滑动条上移动滑块以调节数值时触发该事件。
- ItemEvent: 选项事件,当用户选中某项或取消选中某项时触发该事件
- TextEvent: 文本事件,当文本框、文本域里的文本发生改变时触发该事件。
3,AWT事件继承关系图(粗线圈出来的是常用的):

4,事件类型和监听器表:


5、窗口事件:
import java.awt.*;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener; /**
* @ClassName WindowCloseTest
* @projectName: object1
* @author: Zhangmingda
* @description: XXX
* date: 2021/5/6.
*/
public class WindowCloseTest {
public static void main(String[] args) {
Frame frame = new Frame("窗口监听器测试");
frame.setBounds(400,300,300,300);
WindowListener windowListener = new WindowListener() {
@Override
public void windowOpened(WindowEvent windowEvent) {
System.out.println("窗口被打开");
} @Override
public void windowClosing(WindowEvent windowEvent) {
System.out.println("窗口关闭中");
System.exit(0);
} @Override
public void windowClosed(WindowEvent windowEvent) {
System.out.println("窗口已关闭");
} @Override
public void windowIconified(WindowEvent windowEvent) {
System.out.println("窗口最小化了");
} @Override
public void windowDeiconified(WindowEvent windowEvent) {
System.out.println("窗口已恢复");
} @Override
public void windowActivated(WindowEvent windowEvent) {
System.out.println("窗口获得焦点");
} @Override
public void windowDeactivated(WindowEvent windowEvent) {
System.out.println("窗口失去焦点");
}
};
frame.addWindowListener(windowListener);
frame.setVisible(true);
}
}
6、事件适配器:
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener; public class WindowCloseTest {
public static void main(String[] args) {
Frame frame = new Frame("测试关闭窗口");
WindowListener windowListener = new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.out.println("正在关闭窗口");
System.exit(0);
}
};
frame.addWindowListener(windowListener);
frame.setBounds(100, 100, 400, 400);
frame.setVisible(true);
}
}
java 图形化小工具Abstract Window Toolit 事件处理的更多相关文章
- java 图形化小工具Abstract Window Toolit
老掉牙的历史 Java1.0在发布的时候,就为我们提供了GUI操作的库,这个库系统在所有的平台下都可以运行,这套基本的类库被称作抽象窗口工具集(Abstract Window Toolit),简称 ...
- java 图形化小工具Abstract Window Toolit :画笔Graphics,画布Canvas(),弹球小游戏
画笔Graphics Java中提供了Graphics类,他是一个抽象的画笔,可以在Canvas组件(画布)上绘制丰富多彩的几何图和位图. Graphics常用的画图方法如下: drawLine(): ...
- java 图形化小工具Abstract Window Toolit 常用组件:对话框Dialog FileDialog
对话框 Dialog是Window类的子类,是1个容器类,属于特殊组件,对话框是可以独立存在的顶级窗口,因此用法与普通窗口的用法几乎完全一样.但对话框有如下两点需要注意. (1),对话框通常依赖于其他 ...
- java 图形化小工具Abstract Window Toolit ImageIO缩放图片,添加水印
实现步骤: 读取图像Image src = ImageIO.read 创建目标图像BufferedImage distImage = new BufferedImage(dstWidth, dstHe ...
- java 图形化小工具Abstract Window Toolit 画笔 处理位图
具体编程来处理位图 知识点: 实现逻辑: 画板上的图片 new BufferedImage(canvasWidth,canvasHeight,BufferedImage.TYPE_INT_BGR); ...
- java 图形化小工具Abstract Window Toolit 菜单项
AWT 中的菜单由如下几个类组合而成 MenuBar: 菜单条,菜单的容器. Menu: 菜单组件,菜单项的容器,它也是Menultem的子类,所以可作为菜单项使用. PopupMenu: 上下文菜单 ...
- java 图形化小工具Abstract Window Toolit 常用组件
基本组件 Button: 按钮,可接受单击操作 Canvas: 用于绘图的画布 Checkbox: 复选框组(也可变成单选框组件) CheckboxGroup: 用于将多个checkbox组件组合成一 ...
- java 图形化小工具Abstract Window Toolit ;布局管理器FlowLayout流式布局;BorderLayout边界布局;GridLayout网格布局;CardLayou重叠卡片布局;BoxLayout方框布局;绝对定位
1.FlowLayout流式布局管理器: FlowLayout布局管理器中,组件像水流一样向某方向流动(排列),遇到障碍(边界)就折回,重头开始排列 .在默认情况下,FlowLayout局管理器从左向 ...
- 转:二十七、Java图形化界面设计——容器(JFrame)
转:http://blog.csdn.net/liujun13579/article/details/7756729 二十七.Java图形化界面设计——容器(JFrame) 程序是为了方便用户使用的, ...
随机推荐
- 为了拿捏 Redis 数据结构,我画了 40 张图(完整版)
大家好,我是小林. Redis 为什么那么快? 除了它是内存数据库,使得所有的操作都在内存上进行之外,还有一个重要因素,它实现的数据结构,使得我们对数据进行增删查改操作时,Redis 能高效的处理. ...
- Atcoder Grand Contest 030 F - Permutation and Minimum(DP)
洛谷题面传送门 & Atcoder 题面传送门 12 天以前做的题了,到现在才补/yun 做了一晚上+一早上终于 AC 了,写篇题解纪念一下 首先考虑如果全是 \(-1\) 怎么处理.由于我 ...
- 使用mamba加快conda安装软件速度?
conda是个安装软件的神器,但镜像不稳定,下载安装软件的速度有时很慢.对于几十Mb甚至上百Mb的软件往往下不动,下了半天可能失败. 找了一个叫mamba的加速神器,可以用来并行下载和安装,大大加快速 ...
- excel-合并多个Excel文件--VBA合并当前目录下所有Excel工作簿中的所有工作表
在网上找EXCEL多文件合并的方法,思路: 一.Linux 或者window+cmder,直接用命令行cat合并EXCEL文件,但是,需要安装辅助东西才能直接处理(也许也不可以,但是,可以用文件格式转 ...
- Redis——面试官考题
总结: 本文在一次面试的过程中讲述了 Redis 是什么,Redis 的特点和功能,Redis 缓存的使用,Redis 为什么能这么快,Redis 缓存的淘汰策略,持久化的两种方式,Redis 高可用 ...
- 我的分布式微服务框架:YC-Framework
YC-Framework官方文档:http://framework.youcongtech.com/ YC-Framework源代码:https://github.com/developers-you ...
- linux下定位异常消耗的线程实战分析
前言: 之前分享过一篇Linux开发coredump文件分析实战分享 ,今天再来分享一篇实战文章. 在我们嵌入式linux开发过程中,开发过程中我们经常会使用多进程.多线程开发.那么多线程使用过程中, ...
- accommodate, accompany
accommodate 词源: to make fit, suitable; 近/反义词: adapt, adjust, lodge; disoblige, incommode, misfit Lod ...
- flink---实时项目--day02-----1. 解析参数工具类 2. Flink工具类封装 3. 日志采集架构图 4. 测流输出 5. 将kafka中数据写入HDFS 6 KafkaProducer的使用 7 练习
1. 解析参数工具类(ParameterTool) 该类提供了从不同数据源读取和解析程序参数的简单实用方法,其解析args时,只能支持单只参数. 用来解析main方法传入参数的工具类 public c ...
- vim编码设置(转)
vim里面的编码主要跟三个参数有关:enc(encoding).fenc(fileencoding).fence(fileencodings) fenc是当前文件的编码,也就是说,一个在vim里面已经 ...