`
殇瓶-MIN
  • 浏览: 8479 次
  • 性别: Icon_minigender_2
  • 来自: 长沙
社区版块
存档分类
最新评论

基础之石——事件处理机制

阅读更多

基础之石——事件处理机制

 

想要了解事件处理机制,首先,我们需要弄清楚三个部分:事件源、添加监听器方法、事件接口。

1、事件源:

什么可以成为事件源:所有图形化的控件(容器组件、元素组件)都可以成为事件源。

如何确定事件源:根据动作来确定事件源,即动作发生在哪个控件上,哪个控件就是事件源。

2、添加事件监听器方法:add...Listener(...Listener l);根据相应的动作可以替换...部分的内容,并绑定监听器对象l。例如添加动作监听器:addActionListener(al);(其中al为实例化的ActionListener对象或者实现了ActionListener接口的类的对象)。

3、事件接口或事件抽象类:根据add...Listener(...Listener l)来定义一个类实现这...Listener这个接口(或者继承已经实现了这个接口的抽象类)并具体实现其中的抽象方法。

事件处理执行流程:

事件源   >>>>>事件源上发生>>>>>   动作   >>>>>捕获动作>>>>>   监听器               >>>>>激活>>>>>   监听方法   >>>>>收集动作、事件源信息,封装到>>>>>   ...Event       >>>>>自动调用>>>>>   相应事件的处理方法

 

import java.awt.FlowLayout;

public class EventUI extends javax.swing.JFrame{

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		EventUI UI = new EventUI();
		UI.initUI();
	}

	/**
	 *  绘制窗体的方法
	 */
	public void initUI(){
		// 设置窗体属性
		this.setTitle("按钮事件处理");
		this.setSize(new java.awt.Dimension(600,500));
		this.setLayout(new java.awt.FlowLayout());
		this.setLocationRelativeTo(null);
		this.setDefaultCloseOperation(3);
		
		javax.swing.JButton jbu = new javax.swing.JButton("动作按钮");
		this.add(jbu);
		java.awt.event.ActionListener al = new EventAcListener();		// 可以接口类型的引用变量
		jbu.addActionListener(al);										// 给事件源添加动作监听器
		
		this.setVisible(true);
	}
}

 

import java.awt.event.ActionEvent;

/**
 *  定义一个来来处理发生点击按钮动作后的处理方法,实现动作监听器接口
 * @author Daily
 *
 */
public class EventAcListener implements java.awt.event.ActionListener{
	/**
	 * 当动作发生时,调用此函数。具体定义此抽象方法
     */
    public void actionPerformed(ActionEvent e){
    	System.out.println("进入实现监听器接口的类的动作发生方法!");
    }
}

 

 

分享到:
评论

相关推荐

    JAVA课程设计——java宝石连连看游戏源代码

    4. **多线程**:游戏可能包含多个并发执行的任务,如用户输入响应、游戏计时等,这就需要使用Java的线程机制来处理。 5. **异常处理**:在编程过程中,良好的异常处理可以确保程序在遇到错误时不会崩溃,而是能给出...

    非车险销售人员基础培训系列——公众责任险.pptx

    5. 保险作用:公众责任险的存在,能够为经营者提供财务保障,减轻因意外事故导致的赔偿负担,同时也为受害者提供了一种补偿机制,有助于维护社会稳定。 6. 风险预防与管理:为了降低风险,公共场所的管理者应加强...

    人机猜拳游戏——VB

    5. 错误处理和界面反馈:添加适当的错误处理机制,确保用户操作的有效性,同时通过消息框或界面更新给出反馈。 通过这样的程序,初学者可以学习到VB的基础知识,如表单设计、事件处理、变量赋值、条件判断以及基本...

    安卓Andriod源码——猜拳游戏.zip

    通过分析这个猜拳游戏的源码,开发者可以学习到Android应用的基本构成,事件处理机制,UI设计以及简单的游戏逻辑实现。这对于初学者理解Android开发流程非常有帮助,同时也为进阶学习打下坚实基础。通过实践和修改...

    商业编程-源码-一个十分简单的小游戏——剪刀、石头、布.zip

    这时,可以添加异常处理机制,确保程序在遇到错误时不会突然崩溃。 在分析这个源码时,可以逐一研究以上各个部分,了解它们如何协同工作来实现游戏流程。同时,这也是一个很好的实践机会,可以尝试修改代码,比如...

    JAVA 宝石连连看

    这需要对Java的事件处理机制有深入理解。 4. **数据结构与算法**:游戏的核心部分是寻找并消除相连的相同宝石。这可能涉及到链表、数组或集合等数据结构,以及深度优先搜索(DFS)、广度优先搜索(BFS)等算法来...

    JSP源码——[信息办公]石大在线财务管理系统(含源码)_shidacaiwu.zip

    《JSP源码详解——基于石大在线财务管理系统》 JSP(JavaServer Pages)是一种在服务器端运行的脚本语言,它与HTML相结合,用于创建动态、交互式的Web应用程序。石大在线财务管理系统是基于JSP技术实现的一款实用...

    iOS游戏应用源代码——rieyamane-Janken-beb858e.zip

    通过详细解析"rieyamane-Janken-beb858e"的源代码,开发者不仅可以学习到iOS游戏应用的基础架构,还能掌握到UI设计、游戏逻辑实现、事件处理、资源管理、错误处理等多个方面的技术细节,对于提升iOS开发技能大有裨益...

    每天分享几个python项目 —— rps-game-multiplayer-using-python.zip

    "每天分享几个python项目 —— rps-game-multiplayer-using-python.zip" 这个标题表明这是一个关于Python编程的项目,具体是多人版的石头、剪刀、布游戏(RPS,Rock-Paper-Scissors)。通过这个项目,我们可以学习到...

    用Java写的小游戏——剪刀石头布.zip

    4. **异常处理**:考虑到用户可能会输入非预期的数据,如非剪刀、石头、布的选项,良好的编程实践要求我们加入异常处理机制,确保程序在遇到错误时能够优雅地退出或给出提示。 5. **循环结构**:为了让游戏可以反复...

    石大远程在线考试——数据结构课程设计85201441854054813.docx

    此外,系统还需具备一定的错误处理机制。 3. 产品进销管理系统: 这个系统针对库房产品的进销存进行管理,需要实现产品分类、添加、数量管理等功能。每个产品记录包括产品名、进货日期、销售时间等信息。设计时,...

    flash互动游戏找钻石源代码

    10. **错误处理**:良好的源代码应该包含错误处理机制,以确保程序在遇到异常情况时能优雅地运行下去。 通过对这个源代码的学习,开发者可以深入了解如何在AS3中创建交互式游戏,包括游戏逻辑的设计、用户界面的...

    潜影盒存储——不可堆叠物品解码方案(通讯)1

    在这个基础上,为了实现不可堆叠物品的编码解码,选择了一对具有特殊属性的物品——打火石和木斧。在《Minecraft》中,打火石和木斧是两种无法堆叠的物品,这意味着它们可以被单独识别,而不会与其他相同物品混淆。...

    java未来发展——JVM7

    【Java未来发展——JVM7】 Java作为一门广泛使用的编程语言,其未来发展一直是开发者关注的焦点。JVM(Java虚拟机)作为Java平台的核心,它的每一次重大更新都会对Java生态系统产生深远影响。JVM7,即Java 7,是...

    iOS实例开发源码——fcarucci-Diamonds-d0eaa94.zip

    除此之外,为了处理用户输入和交互,项目可能使用了UIKit中的触摸事件处理。开发者可能通过UIPanGestureRecognizer、UITapGestureRecognizer等手势识别类来监听用户的滑动、点击等行为。 项目中的音效管理可能涉及...

    序号②——LAMPPS软件仿真参考文献.pdf

    超快激光直写技术在处理高硬度材料如钻石时展现出显著的优势,能够改变钻石的内部结构,但其作用机制尚未完全揭示。LAMPPS(Large-scale Atomic/Molecular Massively Parallel Simulator)软件作为分子动力学模拟...

    互联网时代的智能建筑架构特征——“建筑物联网”探讨.pdf

    建筑物联网的架构可以划分为感知层、传输层和应用层,形成了以信息数据流为基础的数据信息处理体系。感知层主要服务于应用领域,通过客观化的描述用户的需求来提供服务支撑,子系统大多基于TCP/IP协议进行数据传输。...

    陨石撞飞机小游戏

    《陨石撞飞机小游戏——基于C++的MFC界面与游戏编程初探》 在IT领域,游戏编程是一项富有挑战性和趣味性的技能,它融合了计算机科学、图形设计和用户体验等多个方面。今天我们要探讨的是一款名为“陨石撞飞机”的小...

    钻石投票tyzm_diamondvote 5.40运营版.zip微信小程序模板源码

    1. **微信小程序框架**:钻石投票小程序基于微信小程序的开发框架,采用了WXML(WeiXin Markup Language)和WXSS(WeiXin Style Sheets)进行视图层描述,以及JavaScript处理数据逻辑。开发者可以借此了解微信小程序...

Global site tag (gtag.js) - Google Analytics