java基础教程10:事件处理机制

Java事件处理步骤及示例代码 在上述示例中,我们创建了一个名为Main的主类。在main()方法中,我们创建了一个MyButton实例和一个MyButtonClickListener实例,并通过setClickListener()方法将监听器与按钮关联起来。在上述示例中,我们定义了一个名为ButtonClickListener的事件监听器接口,并扩展了Java提供的ActionListener接口。在上述示例中,我们创建了一个名为MyButton的按钮类,并定义了一个setClickListener()方法,用于设置事件监听器。 阅读详情

如果让我们自己写一个事件处理机制,我们的写法大概分为如下五部分
(1)自定义一个事件

package Pack1;

import java.util.EventObject;
public class MyEvent extends  EventObject
{
    private String myState;
    public MyEvent(Object source,String state) {
        super(source);
        // TODO Auto-generated constructor stub
        myState = state;
    }
    public String GetMyState(){
        return myState;
    }
    public void SetMyState(String state){
        myState = state;
    }
}

(2)定义一个对该事件进行监听的接口

package Pack1;
import java.util.EventListener;
//定义了监听接口
public interface IMyListener extends EventListener 
{
    public void MyEvent(MyEvent event);

}

(3)定义实际处理事件的类
只要实现上述接口都可以对时间进行监听。可以不止一个

package Pack1;
//实际事件处理类
public class MyListener implements IMyListener
{
    //@Override提示编译器这个方法不是新增的,而是覆盖父类或者被实现接口的
    //就是事件最终触发的函数。显然,只要是实现了IMyListener的类,都可以接受和处理
    //事件——————当然,最终由谁处理事件,由事件源决定
    @Override
    public void MyEvent(MyEvent event) {
        System.out.println(event.GetMyState());
    }
}

(4)定义事件源
显然,事件源可以维持一个数据结构存储多个listener。提供动态加入和动态删除的机制。这里,我们只采用最简单的实现方式

package Pack1;

public class MyManager 
{
    private IMyListener listener;
    public void MakeEvent()
    {
        MyEvent event = new MyEvent(this,"hello");
        listener.MyEvent(event);
    }
    public void SetListener(IMyListener listener){
        this.listener = listener;
    }
}

(5)main函数

package Pack1;


public class Sandbox1
{


    public static void main(String args[])
    {
        MyManager manager = new MyManager();
        manager.SetListener(new MyListener());
        manager.MakeEvent();
        System.out.println("done");
    }
}

有了上面的基础,我们来看日常的button事件的处理

        JButton A = new JButton("A"); 
        A.addActionListener(new ActionListener() { 
            @Override 
            public void actionPerformed(ActionEvent e) { 
                methodA(); 
            } 
        });

这里,JButton是一个已经写好的事件源,因为事件处理只在一个类中,也省去了定义接口。直接采用一个内部类解决了问题。我们知道,实际中,点击按钮是作为一个message被操作系统传递给java虚拟机的。然而,这一过程实际上是在button内部实现的。我们只需要addActionListener就可以了。
不过,上面所描述的事件处理机制显然无法使用在进程间通信。(这里的进程被理解为JVM进程)。显然,大部分通过系统调用进行进程间通信的方式不能被java所用。java的管道功能也只能用于线程间的通信。最常用的办法是socket(rmi/cobra)。当然也可以利用管道文件和共享内存等方式。

Java讲课笔记30:事件处理机制 1. 熟悉事件处理机制 2. 掌握Swing常用事件的使用 阅读详情

相关推荐

java 事件处理教程 java窗口程序设计

在窗口程序设计里,事件的设计是不可或缺的一环。当按下按钮时,也就触发了“按钮被按”的事件,至于计算机要做什么样的反应,则是由程序代码来做判断与决定。 当用户单击按钮、键入文本、使用鼠标或进行其它与界面相关的行动时,都发生界面事件。 Java的java.awt.event包中包含了许多用来处理事件的类和接口。 Java支持授权事件模型,在授权事件模型中,事件从一个事件源授权到一个或多个事件聆听者(事件监视器)。 ......

J2EE中基于监听方式的事件处理机制

Action及ActionListener机制分析 一般地,面向对象分析与设计中存在三种事件处理的机制,除了普通的方法调用外,常常用到回调函数,而J2EE中还提供了一种基于监听方式的事件处理机制,请查阅资料,对Action以及ActionListener的机制进行分析,完成一个分析示例 概述Java中UI控件上可以添加ActionListener进行Action事件监听,而ActionListe

xiaosong97的博客 2039

NVIDIA Jetson Xavier NX刷机教程

NVIDIA Jetson Xavier NX刷机教程,分别安装OS和SDK的经验分享

qq_68271367的博客 6958

面向对象事件处理机制分析

面向对象

weixin_47692652的博客 3049

告别云端依赖:手把手教你在Windows 10/11上离线部署WhisperDesktop(含模型下载避坑指南)

本文详细介绍了如何在Windows 10/11上离线部署WhisperDesktop,包括硬件要求、模型下载、环境配置和实战应用。通过本地部署,用户可以实现高效的语音转文字功能,无需依赖云端服务,特别适合注重数据隐私和需要离线工作的场景。

weixin_33736048的博客 322

从0到1,快速理清 | DeepSeek Harness

DeepSeek推出自研Harness开发平台,主打"一切皆插件"理念,将AI执行能力模块化为可自由组合的插件体系。带你从0到1,快速了解开发链路。

IT学习博客 679

java事件处理入门

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

apsw6825的博客 5875

DOSBOX 0.74模拟器安装Windows 95

DosBox本身带有5.0版的DOS系统,启动后虚拟一个Z盘存放有Dosbox特有的外部指令,如config.com、imgmount.com等,经测试,可以顺利安装各版本的windows 3.1系统,但是不能安装win95,需要用原版的dos镜像启动才能安装。1. 获取启动盘镜像文件 下载Win95启动软盘镜像文件,名为boot.img,放到DosBox 0.74的目录下。2. 制作硬盘镜像文件

xjnzhidao的博客 9310

java事件处理机制—自定义事件

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

shangxinsemo的专栏 926

基于Vivado MIG IP核的DDR3读写实验(top_rom_ddr/ddr_top)

一、前言 关于Vivado MIG IP核详细配置可以参考我之前的文章:基于Vivado MIG IP核的DDR3控制器(DDR3_CONTROL) 关于MIG IP核的用户端的接口时序可以参考这篇文章:XILINX 的 MIG IP(非AXI4)接口时序以及控制 二、实验内容 本次实验的内容主要是通过MIG IP核向DDR3读写数据,DDR3的接口时序由ddr_top模块提供: ddr_top模块的数据来源是wr_fifo,wr_fifo的数据实际来自top_sd_photo模块(本实验仿真

耐心的小黑的博客 3027

在 ABAP CDS View 里把 Conversion Functions 用到极致:FLTP 精度、单位换算、货币换算与小数位处理的工程化实践

数据格式转换在真实项目中比业务逻辑更容易引发问题。ABAP CDS中的转换函数(如FLTP_TO_DEC、UNIT_CONVERSION、CURRENCY_CONVERSION和DECIMAL_SHIFT)可帮助在数据库层统一数据口径,避免应用层重复处理。这些函数支持数值精度治理、单位换算、货币转换和小数位调整,能显著提升报表性能并减少逻辑分散。通过将格式转换前移到数据模型层,可以确保服务层和UI层的数据一致性,同时降低接口传输错误风险。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2351

Java—事件处理机制

package com.learn.event_; import javax.swing.*; import java.awt.*; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; /** * @author 咕咕猫 * @version 1.0 * 演示小球通过键盘控制上下左右的移动→Java的事件控制 */ public class BallMove extends JFrame{ //窗口 My.

weixin_61843013的博客 7155

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Java的事件处理机制

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

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

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

计算机控制技术及应用

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

java基本事件处理机制

java事件处理机制

qq_39411709的博客 6835

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

科普文:Java基础系列之【Java事件处理机制详解】

事件处理机制中参与有三种角色:事件源、事件、事件监听者。事件源:产生事件的对象/组件事件:事件源的状态发生改变之后的对象,如鼠标操作、键盘操作等事件监听者:负责监听事件的发生并处理事件java事件机制中包含下述三要素:事件:发生了什么事,比如用户在界面上的一个操作(手势滑动屏幕),当一个事件发生的时候,该事件用一个事件对象表示,每一个事件对象都有其对应的事件类。Java中事件一般继承自java.util.EventObject类,封装了事件源对象,以及事件的相关信息。

为无为,事无事,味无味。 1619

Java 事件处理机制

Java的事件机制最初是用在Swing组件上的,用来处理诸如按钮按下之类的动作事件,但如果理解了事件机制的基本概念,我们可以轻易的将其用到任何Java对象上。

张姐姐聊编程 2184

Java事件处理机制

本文来自优快云 博客 ,全文地址请点击:https://blog.youkuaiyun.com/feicongcong/article/details/76685848?utm_source=copy Java事件处理机制 java中的事件机制的参与者有3种角色: 1.event object(事件类,事件触发/发布):事件状态对象,用于listener的相应的方法之中,作为参数,一般存在于liste...

weixin_40657079的博客 3176

Java —— 事件处理机制

一、Java事件主要角色 Source:事件源,即触发事件的对象; EventObject:事件对象,即带有 EventSource 信息的事件对象,是对EventSource的包装; Eventlistener:事件监听器,对该事件的处理。 说明: 1、Source:即任何具有行为的Java 对象,具有行为是为了能触发事件。 2、EventObject类: 继承关系:直接继承于Ob

永远的北极光 3万+

java 事件处理机制

java 事件处理机制概要: 通用(一般)机制——实现接口: 1. 首先确定要监听的对象和事件 2. 其次确定监听者及其要实现的接口及要重写的方法 (具体完成事件响应的方法,即事件最终会传至的方法),[监听者一般为被监听者本身(如窗体)或直接包含被监听者的对象,这样可以较好地实现封装;且对于需要当前类的对象响应的事件,这是解决问题的唯一方法]。而对于系统响应事件,则也可以采用外部类来监听(并不常用

1676

Java - 事件处理机制

Java - 事件处理机制 一、观察者模式 了解事件和监听,需要先了解观察者模式。 接下来介绍一个观察者模式的场景: 老师布置作业,通知学生; 学生观察到老师布置了作业,开始做作业 在这个场景中,学生就是观察者,老师是被观察者。但是: 教师作为被观察者,实际上把握主动。 接下来实现上面的场景: 1.1 观察者 场景中的观察者是:学生 packag...

用时间去蜕变 1868

事件处理机制之基于监听的事件处理机制

(一)概述 我们已经学习了Android的UI控件,我们可以利用这些控件构成一个精美的界面,但是仅仅是界面而已;下一步就要开始学习逻辑与业务实现了,本章节讲解的是Android的事件处理机制!何为事件处理机制?举个 简单的例子,比如点击一个按钮,我们向服务器发送登陆请求!当然,Android中的事件处理机制不止这一种, 比如屏幕发生选择,我们点击了屏幕上某个区域…简单点说,事件处理机制就是我们和U

MakeYourChance的专栏 2639
上一篇: java基础教程9:浏览java api
下一篇: linux基础教程(9)权限机制
define_us
博客等级 码龄14年 157粉丝 531原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值