JAVA(学习笔记1.2)——事件处理模型

Java学习笔记7.2.1 事件处理 - Swing事件处理机制 1. 理解Swing事件处理机制; 2. 掌握Swing事件处理基本步骤 阅读详情

      当用户与GUI组件交互时会引发一个系统预先定义好的事件(鼠标移动,点选按钮,文本输入等),GUI由这些事件驱动。GUI事件是一个从java.awt.event.AWTEvent类扩展的某个子类对象

下图所示为java.awt.event中的事件类结构:

 

 

一   JAVA中事件处理模型

(1)事件源:是用户交互的各种GUI组件

(2)事件对象(Eventobject):封装了事件的有关信息

(3)事件监听器(Event listener)当事件发生时被通知到接收事件的监听对象,然后调用事件监听对象中的对应方法响应该事件

一个事件监听对象是实现了系统规定的事件监听接口的类的对象,事件监听接口提供了事件处理的抽象方法的描述。JAVA系统的事件监听接口类型如下图(一个监听接口往往声明了一个以上的抽象方法,每个抽象方法对应着要处理的事件动作,由用户实现它)

 

 

二  对组件的响应和处理

当需要对组件的某种事件进行相应和处理时,程序员必须满足两个步骤:(1)为组件注册 实现规定接口的事件监听器  (2)实现事件监听器接口中声明的事件处理抽象方法

例:

JButton button=new JButton("press");//新建一个组件:当用户单击事件源(java自动生成ActionEvent事件对象,它封装了用户单击事件源发生的一些信息)

button.addActionListener(new ButtonHandler());//java自动生成ActionEvent事件对象这一事件被传递给事件源button,button通过AddActionListener()方法注册了的监听ActionEvent事件的ButtonHandler监听对象     //为button组件注册事件监听器,

class ButtonHandler implements ActionListener{//然后就调用ButtonHandler方法中的actionperformed方法实现事件处理。

public void actionPerformed (ActionEvent event)//实现事件处理的方法

 

三   ActionEvent动作事件

ActionEvent发生了组件已经定义了的动作的事件,当动作发生,组件生成该ActionEvent,该事件传递给使用组件的add.addActionListener方法注册的每一个ActionListener对象用来接收此类事件(单击,双击,选择,回车)然后再处理

ActionEvent常用方法

(1)String getActionCommand():返回引发事件动作的命令字符串(Button会返回Button标签,JTextField会返回文本)

(2)String getSource():返回引发该事件的组件对象(此方法可以区分产生动作命令的不同事件源)

 

 

12.1 GUI 事件处理 不同于 AWT 使用重量级组件(每个组件对应有一个本地窗口系统资源),Swing 提供了轻量级组件,它们不是直接映射到本地窗口系统组件上,而是绘制出来的。因此,Swing 组件可以在不同的平台上保持一致的外观和感觉,并且更加灵活。JComponent:Swing 中的所有组件都继承自JComponent类,而JComponent又间接继承自 AWT 的Container类。这意味着 Swing 可以利用 AWT 的一些基础设施,比如事件模型和布局管理器。增强的功能。 阅读详情

相关推荐

避坑指南:STM32H7不同DMA控制器(MDMA/DMA2D/BDMA)到底该用哪个?

本文深入解析STM32H7系列芯片的DMA控制器选型策略,涵盖MDMA、DMA2D、BDMA等不同控制器的架构原理与性能对比。通过实际项目案例,提供高速TCM数据搬运、GUI加速、低功耗传输等场景的选型决策树,并分享性能优化与调试技巧,帮助工程师避开常见陷阱,提升系统效率。

weixin_26876073的博客 447

java事件模型

java事件模型一. java事件机制java中的事件机制的参与者有3种角色1. Event Eource:具体的事件源,比如说,你点击一个button,那么button就是event source,要想使button对某些事件进行响应,你就需要注册特定的listener。2. Event Object:事件状态对象,用于 listener 的相应的方法之中,作为参数,一般存在于listerner

lilongjiu的专栏 2684

Windows 11/10系统盘被BitLocker锁了别慌!手把手教你用manage-bde命令找回密钥并解锁

本文详细介绍了当Windows 11/10系统盘被BitLocker锁定后的恢复方法,重点讲解了如何使用manage-bde命令行工具找回密钥并解锁加密驱动器。通过进入Windows恢复环境、诊断锁定状态、提取恢复密钥ID以及执行解锁操作等步骤,帮助用户有效解决BitLocker锁定问题,同时提供了后续防护优化建议和高级故障排除技巧。

weixin_42542669的博客 1462

java事件处理模型_java swing中事件处理模型是什么?详细解析

随着科学技术水平的不断进步与发展,java的使用频率是越来越高了。关于javaswing的知识是非常多的,不知道大家都掌握了吗?一起来了解一下事件处理模型吧。首先说一下,java swing中事件处理模型。若想要使图形界面能够接收用户的操作,必须给各个组件加上事件处理机制。在事件处理的过程中,主要涉及三类对象。1.Event(事件):用户对组件的一次操作称为一个事件,以类的形式出现。例如,键盘操作...

weixin_36146057的博客 1214

告别QXDM:在Android Studio中调试与验证高通NV读写功能的完整流程

本文详细介绍了在Android Studio中调试与验证高通NV分区读写功能的完整流程,替代传统的QXDM工具。通过JNI接口层、HAL服务层和Diag通信层的架构设计,开发者可以在熟悉的IDE环境中高效完成NV操作,包括环境配置、错误处理和性能优化等关键实践。

weixin_27013291的博客 261

nature子刊:MCNN基于电池故障诊断的模型约束的深度学习方法

本研究提出了一种基于模型约束神经网络(MCNN)的锂离子电池在线故障诊断方法,整合物理模型与深度学习,有效解决了随机工况下传统方法诊断精度低、依赖故障样本等问题。通过统计修正电池包模型和双向LSTM网络,实现了电池状态的高精度预测(平均RMSE 3.9%),并设计模型耦合自动编码器提取可解释特征。在包含18.2百万条真实车辆数据的验证中,该方法故障检测TPR在FPR=0.1时达85%,较基准方法提升超46.5%,且能提前30分钟预警内部短路等故障。研究还展示了算法在跨电池包结构迁移中的优越性,为工业应用提供

hasakie的博客 1758

java第九章 组件及事件处理(笔记)

java第九章 组件及事件处理(笔记) 1.容器不可以添加JFrame的实例到该容器中。 2.FlowLayout是JPanel容器的默认布局 3.下列ABCD注释标注的哪行代码有错误? import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Win extends JFrame implements ItemListener { JTextField text; publ

彼岸的博客 1468

利用HFSS仿真优化圆极化微带天线的耦合馈电设计

本文深入探讨了利用HFSS仿真软件优化圆极化微带天线性能的关键方法。通过对比传统直接馈电与耦合馈电方式,详细阐述了耦合馈电在提升阻抗匹配、改善轴比带宽及增强设计鲁棒性方面的显著优势。文章结合FR4板材的实战案例,逐步演示了在HFSS中建立模型、进行参数扫描与圆极化性能优化的完整流程,为设计高性能、高纯度的圆极化天线提供了实用指南。

weixin_29233333的博客 547

java绘图以及事件处理机制

java绘图基本方法及其参数设置,事件类型以及事件监听器画直线 drawLine(int x,int y,int x1,int x2) 参数为两个点的坐标 2)画矩形边框 drawRect(int x,int y,int width,int height) 参数坐标为图形左上角顶点,长度,宽度 3)画椭圆边框 drawOval(int x,int y,int width,int height)参数坐标为外接矩形左上角顶点,长度,宽度 4)填充矩形 fillRect(int...

qq_45981247的博客 455

Stanford Dogs 犬类识别实战:基于 YOLOv8 的 120 类目标检测与图形界面实现

本项目通过YOLOv8实现了Stanford Dogs数据集的目标检测功能,完整包含了数据准备、模型训练、检测推理、图形界面四大模块。初学者使用YOLOv8n(nano版)加速训练,熟悉流程后可切换到YOLOv8s/m。图像上传与检测可进一步增强,例如显示识别框、标注标签。可以添加模型选择、检测阈值调整等功能,提升实用性。通过网盘分享的文件:基于yolov8的狗类品种识别系统链接: https://pan.baidu.com/s/1UYV4h2WnK1RxWWKoPrS-RA?

FJN110的博客 84

[疯狂Java笔记]事件处理:Java事件处理模型

1. Java事件处理三要素:     1) 事件源(Event Source):即事件发生的场所,就是指各个组件,如按钮等,点击按钮其实就是组件上发生的一个事件;     2) 事件(Event):事件封装了组件上发生的事情,比如按钮单击、按钮松开等等;     3) 事件监听器(Event Listener):负责监听事件源上发生的特定类型的事件,当事件到来时还必须负责处理相应的事件;

Lirx_Tech的专栏 9079

图神经网络实战(5)——常用图数据集

Cora 和 Facebook Page-Page 是图神经网络领域中经常使用的两个基准图数据集,通常用来比较不同模型的性能。在本节中,介绍了如何使用 PyTorch Geometric 库提供的数据集类加载 Cora 和 Facebook Page-Page 数据集,并探索了两个数据集的主要特征。

盼小辉丶的博客 1万+

java事件处理模型_java事件处理模型是什么

我们在上手一个新项目时,对于陌生的环境不适用难免会出现一些错误,这时候就需要有经验的人来帮忙。java中的事件处理模型就类似这样的原理,分为三类对象,在特定的环境下,由监听器对事件源进行监督。下面我们就java事件处理模型的基本原理、三类对象、实例分别进行学习。1.基本原理每个事件源可以发出若干种不同类型的事件。在程序中为每个事件源指定一个或者多个监听者,它可以对某种事件进行监听。如果某种事件发生...

weixin_36438124的博客 973

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

java事件处理模型_java事件处理模型知识点总结

我们在上手一个新项目时,对于陌生的环境不适用难免会出现一些错误,这时候就需要有经验的人来帮忙。java中的事件处理模型就类似这样的原理,分为三类对象,在特定的环境下,由监听器对事件源进行监督。下面我们就java事件处理模型的基本原理、三类对象、实例分别进行学习。1.基本原理每个事件源可以发出若干种不同类型的事件。在程序中为每个事件源指定一个或者多个监听者,它可以对某种事件进行监听。如果某种事件发生...

weixin_29682291的博客 689

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

java事件处理入门

一、事件处理机制 (1)事件源:事件源回答事件是由谁发生的,也就是事件发生的场所或者来源,通常是组件的对象,例如按钮JButton、下拉框JComboBox、列表框JList、树JTree等。 (2)事件对象:事件对象主要回答发生了什么事情。事件对象本身封装了包含所发生的各种事件的有效信息,包括事件源对象以及处理该事件所需要的其它各种信息(如鼠标点击时的坐标等),这些有效信息被封装在类AWTEvent或其子类的实例对象中。 所有事件类均在java.awt.event包中,常用的事件类包括ActionE

apsw6825的博客 5876

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Java的事件处理机制

<br />如果用户用鼠标单击了按钮对象button,则该按钮button就是事件源,而java运行时系统会生成ActionEvent类的对象actionE,该对象中描述了该单击事件发生时的一些信息,然后,事件处理者对象将接收由java运行时系统传递过来的事件对象actionE并进行相应的处理。<br /><br />  由于同一个事件源上可能发生多种事件,因此java采取了授权处理机制(Delegation Model),事件源可以把在其自身所有可能发生的事件分别授权给不同的事件处理者来处理。比如在Can

张启宇(Joey Zhang)的专栏 1万+

java事件处理模型_JAVA 事件处理模型

一、用户事件用户在程序界面所进行的操作,比如单击鼠标或者输入字符,称为用户事件。程序对这些用户事件做出响应,称为事件处理。二、事件处理模型1.事件类型——侦听程序接口系统将这些用户事件分类,分成各种事件类型。系统为每个事件类型提供了一个侦听程序接口,接口包含的方法,规定了接受并处理该类事件的规范。2.侦听程序接口——事件侦听程序为了接收并处理某个事件类型,组件必须注册相应的事件处理程序,称为事件侦...

weixin_34321959的博客 478

利用Java事件处理机制实现录制、回放功能

目前在一些java应用程序的GUI测试工具,可以提供捕获用户操作的能力并在代码被修改之后能够自动回放用户的操作。文章将分析Java的事件处理模型及其原理,介绍了基于事件源识别的捕获/回放所需要了解的关键技术并给出了两种实现方式。1、 Java事件介绍1.1什么是事件首先我们来回答"什么是事件"这一基本问题。其实事件本身就是一个抽象的概念,他是表现另一对象状态变化的对象。在面向对象的程序设计中,事件

ark1111的专栏 2227

Java中的事件处理模型:如何实现高效的异步事件处理

在 Java 中,事件处理模型是实现异步事件处理的核心。本文将深入探讨 Java 中的事件处理模型,包括事件的定义、事件监听器、异步处理机制以及如何在实际应用中高效地实现异步事件处理。Java 提供了几种事件处理机制,包括传统的同步事件处理和现代的异步事件处理。在选择适合的异步处理方式时,需要考虑具体的应用场景和任务特性。在 Java 中实现高效的异步事件处理,能够显著提升应用程序的响应性和性能。在传统的事件处理模型中,事件通常由事件源(如按钮、菜单项等)生成,事件监听器(如。,可以实现异步事件处理。

微赚淘客系统开发者博客 840

用Java事件处理机制实现录制回放功能

目前在一些java应用程序的GUI测试工具,可以提供捕获用户操作的能力并在代码被修改之后能够自动回放用户的操作。文章将分析Java的事件处理模型及其原理,介绍了基于事件源识别的捕获/回放所需要了解的关键技术并给出了两种实现方式。   1、 Java事件介绍  1.1什么是事件  首先我们来回答"什么是事件"这一基本问题。其实事件本身就是一个抽象的概念,他是表现另一对象状态变化的对象。在面向

首席技术执行官CTO(Chief Technology Officer)|技术总监--邓斌博客 1520

java事件处理模型的基本思想_java事件处理模型知识点总结

我们在上手一个新项目时,对于陌生的环境不适用难免会出现一些错误,这时候就需要有经验的人来帮忙。java中的事件处理模型就类似这样的原理,分为三类对象,在特定的环境下,由监听器对事件源进行监督。下面我们就java事件处理模型的基本原理、三类对象、实例分别进行学习。1.基本原理每个事件源可以发出若干种不同类型的事件。在程序中为每个事件源指定一个或者多个监听者,它可以对某种事件进行监听。如果某种事件发生...

weixin_31468621的博客 158

Java事件处理机制

Java事件处理模型是一种人机交互模型,用户能够通过鼠标,键盘或者其他输入设备来操作程序的执行流程。对鼠标,键盘或其他输入设备的各种操作称作事件。 一,事件处理模型的三个要素 事件源(event source) 事件源就是awt和swing的各种组件或者容器,是接受各种事件的对象。 事件对象(event object) 在各种事件源上,对鼠标,键盘或其他输入设备进行各种操作时,一般会有事件发生,每...

qq_44749781的博客 1563

Java Swing GUI事件处理模型

GUI界面程式启动后,Java虚拟机就启动三个线程:主线程、系统工具包线程和事件派发线程。 1主线程 :负责创建并显示该程序的初始界面; 2系统工具包线程 :负责将从系统事件队列捕获在该程序界面上的鼠标和键盘操作等底层事件,并把这些事件转换成Swing的相应对应事件对象放入Swing的事件队列中,并循环该线程; 3事件派发线程 :负责GUI组件的绘制和更新,通过不断从Swing的事件队列中获...

木生火 1151

深入浅出java事件处理模型知识点总结

我们在上手一个新项目时,对于陌生的环境不适用难免会出现一些错误,这时候就需要有经验的人来帮忙。java中的事件处理模型就类似这样的原理,分为三类对象,在特定的环境下,由监听器对事件源进行监督。下面我们就java事件处理模型的基本原理、三类对象、实例分别进行学习。 1.基本原理 每个事件源可以发出若干种不同类型的事件。在程序中为每个事件源指定一个或者多个监听者,它可以对某种事件进行监听。如果某种事件发生,就调用相应监听者中的方法。 2.三类对象 (1)Event Source(事件源):事件发生的场所,通常就

weixin_51495453的博客 424
上一篇: JAVA(学习笔记1.1)——GUI组件与用户界面设计
下一篇: JAVA(学习笔记1.1.1)——AWT概述
Carol_kit
博客等级 码龄9年 7粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值