JAVA中事件处理机制是观察者模式或者说委托(授权)管理的一种。
1、在理解JAVA中事件处理机制前我们必须先理解三个重要的概念:
事件源:产生事件的对象;
事件处理器(监听器):负责处理事件的方法。
事件对象:用于在事件源与事件处理器间传递信息的桥梁。
它们之间的关系是:当事件源产生事件时,通过事件调用监听器相应的事件处理方法。
2、通过恋爱关系模拟事件处理机制:女孩子(事件源)产生高兴或不高兴的情绪(事件对象)时,男朋友(监听器)应该怎么做。
1、确定三个类:Gril,Emotion,Boy
2、Gril:要有一个名字属性,一个男朋友的属性(不可能满大街随便找个人给听你发牌气吧),还有一个add添加男朋友的方法。还有一个remove分手的方法。
Boy:要有一个名字属性,要有happy,和unhappy的两个在女朋友找你时做相应处理的方法吧。他还要有监听器的功能,所以要实现EventListener接口吧。我们在查看到EventListener只是一个简单的标记接口,所以我们一般创建一个具体有点功能的监听接口EventListen具有happy,unhappy抽像方法,而Boy通过实现这个接口,来完成有个性的处理方法。
Emotion:是一个事件对象,凭什么它就是一个事件对象呀,它要继承EventObject吧。查帮助看下。其中有一个方法getSource,通过这个方法就可以找到事件源了吧。通过查看EventObject构造方法,没有无参的构造方法,而创建对象默认是向上调用父类无参构造方法的,这样会出现错误,所以我们必须写一个含参的调用父类构造方法。
3、Boy要根据Gril产出的不同事件对象使用不同的处理方法时,要接受事件对象(Emotion)的传入吧。即方法接收传入参数。
4、Gril:有一个发牌气的方法fire,假设她1,3,5 happy,2,4,6 unhappy,7分手。
5、前面已经实现了事件处理机制模型,为了更完善点使程序有多个男孩子追,并且加入异常处理。
import java.util.*;
class Gril {
String name;
Boy b;// 男朋友的属性
public Gril(String name) {
this.name = name;
}
public void addBoy(Boy b) throws MyHeartException // 相当注册监听器
{
// 添加男朋友
if (this.b == null) {
this.b = b;
System.out.println("haha,I have boyfriend now");
} else {
throw new MyHeartException("I have boyfriend,wait me for a week");
}
}
public void remove() {
this.b = null;
System.out.println("sorry,you never understand me!");
}
public void fire() {
if (b == null)
System.out.println("I have not boyfriend now!");
else {
Emotion e = new Emotion(this);
for (int i = 1; i < 7; i++) {
if (i % 2 == 0)
b.unhappy(e);
else {
b.happy(e);
}
}
remove();
}
}
}
class Boy implements EventListen {
String name;
public Boy(String name) {
this.name = name;
}
public void happy(Emotion e) {
Gril g = (Gril) e.getSource();
System.out.println(name + " said :" + g.name + " you happy,I happy.");
}
public void unhappy(Emotion e) {
Gril g = (Gril) e.getSource();
System.out.println(name + " said :" + g.name
+ " Do not worry!you have my too!");
}
}
import java.util.EventObject;
class Emotion extends EventObject {
public Emotion(Object src) { // EventObject的构造方法只有无参的构造方法
super(src); // 所以只有显示的调用,src代表事件源
}
}
import java.util.EventListener;
interface EventListen extends EventListener{
void happy(Emotion e);
void unhappy(Emotion e);
}
public class Test {
public static void main(String[] args) {
Gril g = new Gril("Anna");
Boy b1 = new Boy("Tom");
Boy b2 = new Boy("Jon");
try {
g.addBoy(b1);
g.addBoy(b2);
} catch (Exception e) {
e.printStackTrace();
}
g.fire();
}
}
class MyHeartException extends Exception {
public MyHeartException(String str) {
super(str);
}
}
相关链接:
★ Java知识点汇总
全球软件项目外包平台 兼职做外包 挣Money!
分享到:
相关推荐
Java事件处理机制是Java编程中一个关键的概念,它主要用于用户界面(UI)应用程序,使得程序能够响应用户的操作,如点击按钮、选择菜单项等。在Java中,事件处理主要涉及三个核心组件:事件源(Event Source)、事件...
总的来说,Java GUI事件处理机制通过委托事件模型,实现了组件与用户交互的响应,使得开发者可以灵活地构建交互性强的图形用户界面。理解和掌握这一机制,对于编写高效、易维护的Java GUI应用程序至关重要。
java事件处理机制
Java事件处理机制是一种用于在组件之间传递和处理事件的机制,它是GUI编程中不可或缺的一部分。在Java中,事件处理涉及到三个关键角色:事件对象(Event Object)、事件源(Event Source)和事件监听器(Event ...
项目教学法的设计——以java事件处理机制为例 在计算机科学和技术教育中,项目教学法是一种非常重要的教学方法之一。它可以让学生更好地理解和掌握知识,并提高学生的实践能力和解决问题的能力。下面,我们将通过...
Java事件处理机制是Java编程中一个重要的组成部分,它主要用于用户界面(UI)应用程序,使得程序能够响应用户的操作,如点击按钮、选择菜单项或者在文本框中输入文字等。本教学方法探讨旨在深入理解并有效地教授Java...
Java 事件处理机制是 Java 语言 GUI 编程中的一个重要内容,涉及到多个抽象的概念和复杂的对象之间的关系,对初次接触的学生来说,难以清晰地理解其原理。本文探讨了如何在教学中科学地讲授事件处理机制,并给出了...
14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理...
java事件监听机制 java中的事件机制的参与者有3种角色: .event object:就是事件产生时具体的“事件”,用于listener的相应的方法之中,作为参数,一般存在与listerner的方法之中
Java 异常处理机制是 Java 语言的一大特点,它能够捕获和处理程序运行过程中的非正常情况的事件,如除零溢出、数组越界、内存溢出等。传统的编程语言没有异常处理机制,错误处理完全靠程序员来完成,而程序员一般以...
Java 异常处理机制及应用研究 Java 异常处理机制是 Java 程序设计的一大难点,也是使用 Java 进行软件开发时不容忽视的问题之一。是否进行异常处理直接关系到开发出的软件的稳定性和健壮性。对 Java 异常处理机制有...
Java事件处理机制是Java编程中一个重要的概念,主要用于在用户界面或者系统中处理各种交互事件。在Java中,事件处理通常涉及到三个核心组件:事件对象(Event Object)、事件源(Event Source)和事件监听器(Event ...
Java 事件处理机制与组件实践 本节课主要讲解 Java 事件处理机制和组件实践,通过实践实验,深入了解 Java 事件处理机制的实现方式和组件的使用。 事件处理机制是 Java 语言中的一种基本机制,用于处理用户交互...
本文主要探讨了Java AWT库中的事件处理机制,包括事件、事件源、事件监听器和事件处理器的概念。 1. **事件处理机制**: Java的事件处理机制是基于事件驱动编程模型的,即当用户执行特定操作(如点击、按键等)时...
在Java中,事件处理机制是指当用户与图形用户界面交互时,程序如何响应用户的操作。Java提供了多种事件处理机制,例如ActionListener、MouseListener、KeyListener等。 在给定的文件信息中,我们可以看到,程序使用...
Java 事件处理是指 Java language 中的一种机制,用于处理用户界面事件,例如按钮点击、鼠标移动、键盘输入等。Java 事件处理机制使用 Observer 模式来实现,观察者(Observer)对象注册到被观察者(Observable)...
总的来说,Java回调机制是理解和掌握Java编程中必不可少的一部分,它帮助我们构建更灵活、可扩展的系统,同时也为处理异步操作和事件驱动的程序设计提供了强大的工具。通过深入理解并熟练运用回调,开发者可以编写出...
Java 的事件处理机制是指当用户与 GUI 组件交互时,程序如何响应和处理这些交互事件的机制。 在本文中的代码中,我们使用了 JFrame 的 paint 方法来绘制哆啦A梦的图形,并使用了事件处理机制来处理用户的交互事件。...
Java中的异常和处理机制实例详解 Java中的异常和处理机制是Java语言中的一种重要机制,用于处理程序在运行时出现的异常情况。在Java中,异常是一种不被期望的事件,它会阻止程序按照预期正常执行。Java提供了异常...