JAVA中事件处理机制是观察者模式或者说委托(授权)管理的一种。
1、在理解JAVA中事件处理机制前我们必须先理解三个重要的概念:
事件源:产生事件的对象;
事件处理器(监听器):负责处理事件的方法。
事件对象:用于在事件源与事件处理器间传递信息的桥梁。
它们之间的关系是:当事件源产生事件时,通过事件调用监听器相应的事件处理方法。
2、通过恋爱关系模拟事件处理机制:女孩子(事件源)产生高兴或不高兴的情绪(事件对象)时,男朋友(监听器)应该怎么做。
1、确定三个类:Gril,Emotion,Boy
2、Gril:要有一个名字属性,一个男朋友的属性(不可能满大街随便找个人给听你发牌气吧),还有一个add添加男朋友的方法。还有一个remove分手的方法。
Boy:要有一个名字属性,要有happy,和unhappy的两个在女朋友找你时做相应处理的方法。
Emotion:是一个事件对象,凭什么它就是一个事件对象呀,它要继承EventObject吧。查帮助看下。其中有一个方法getSource,通过这个方法就可以找到事件源了吧。通过查看EventObject构造方法,没有无参的构造方法,而创建对象默认是向上调用父类无参构造方法的,这样会出现错误,所以我们必须写一个含参的调用父类构造方法。
3、Boy要根据Gril产出的不同事件对象使用不同的处理方法时,要接受事件对象(Emotion)的传入吧。即方法接收传入参数。
4、Gril:有一个发牌气的方法fire,假设她1,3,5 happy,2,4,6 unhappy,7分手。
5、前面已经实现了事件处理机制模型,为了更完善点使程序有多个男孩子追,并且加入异常处理。
public 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();
}
}
}
public class Boy {
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;
public class Emotion extends EventObject {
public Emotion(Object src) {
super(src);
}
}
public class MyHeartException extends Exception {
public MyHeartException(String str) {
super(str);
}
}
分享到:
相关推荐
Java事件处理机制是Java编程中一个关键的概念,它主要用于用户界面(UI)应用程序,使得程序能够响应用户的操作,如点击按钮、选择菜单项等。在Java中,事件处理主要涉及三个核心组件:事件源(Event Source)、事件...
Java GUI事件处理机制是Java应用程序开发中的重要组成部分,主要用于响应用户在图形用户界面中的各种操作。这一机制采用了委托事件模型,使得程序结构清晰,易于扩展。下面将详细讲解这一机制的关键概念、工作流程...
Java中事件处理机制的核心是事件类和接口。事件类通常包含事件的相关信息,而事件接口定义了处理事件的方法。例如,对于按钮点击事件: - **事件类**: `ActionEvent` - **事件接口**: `ActionListener` #### 四、...
Java事件处理机制是Java GUI编程中的重要组成部分,它允许用户与图形界面进行交互。在Java中,事件处理涉及事件源(Event Source)、事件(Event)和事件监听器(Event Listener)。当用户执行某个操作,如点击按钮...
Java事件处理机制是Java GUI编程中的核心组成部分,它允许程序响应用户的交互操作,如点击按钮、选择菜单项等。在Java中,事件处理主要涉及三个关键角色:事件对象(Event Object)、事件源(Event Source)和事件...
在Java编程语言中,事件处理机制是构建图形用户界面(GUI)交互功能的核心技术。理解这一机制对于编程人员而言至关重要,因为它涉及到程序如何响应用户的操作。为了让初学者更好理解Java事件处理机制及其编程技术,黄...
Java事件处理机制是Java开发GUI(图形用户界面)应用程序时不可或缺的部分,它使得程序能够响应用户的操作,如点击按钮、选择菜单项等。在Java中,事件处理主要涉及以下几个核心概念: 1. **事件(Event)**:事件...
Java事件处理机制是Java编程中一个重要的组成部分,它主要用于实现用户界面(UI)与应用程序逻辑之间的交互。在Java中,事件处理主要涉及到事件源、事件和事件监听器。本示例"java事件处理机制Demo"将深入探讨Java的...
Java事件处理机制分析 Java是一种面向对象、采用事件驱动机制的程序设计语言,掌握Java的事件处理机制是编写人机交互的图形用户界面程序的关键。本文对Java的事件处理机制进行了深入剖析,阐述了Java的事件处理模式...
### Java GUI 编程中的事件处理机制详细讲解 在Java GUI编程中,事件处理机制是构建用户界面交互的核心部分。本文将围绕“Java GUI编程中的事件处理机制详细讲解(1)”这一主题展开,深入探讨组件类事件、动作类...
事件处理机制 - **事件源**:按钮是事件的来源,当用户点击按钮时,会触发`ActionEvent`。 - **事件监听器**:程序中实现了`ActionListener`接口,通过覆盖`actionPerformed`方法来响应按钮的点击事件。 - **事件...
Java中的事件机制是Java编程中一个重要的概念,它基于观察者模式(Observer Pattern)来实现对象之间的通信。观察者模式是一种行为设计模式,允许你定义一个订阅机制,可以在对象状态改变时通知多个“观察”该对象的...
这一章节主要讲解了Java的事件处理机制,特别是基于"委派事件模型"的事件处理。 首先,事件是用户在界面上执行操作时产生的,例如点击按钮、输入文本等。这些事件由Java的`java.awt.event`包中的类和接口来处理。在...
在本文中,我们将深入探讨如何利用Java事件处理机制实现录制和回放功能,这种功能常见于GUI测试工具中,用于捕获用户操作并在代码修改后自动回放这些操作。 1. Java 事件介绍 - **事件是什么**:在Java中,事件是...
- Swing是建立在AWT之上的UI库,提供了更丰富的组件和事件处理机制。Swing事件处理与AWT类似,但更加强大和灵活。 8. **事件分发** - 事件通常会沿着组件层次结构进行分发,直到找到一个处理事件的监听器。这称为...
此外,Java Swing库扩展了AWT的事件处理机制,提供了更丰富的组件和更灵活的事件模型,如匿名内部类和Lambda表达式处理事件。尽管Swing是建立在AWT之上的,但两者在事件处理方面有许多共通之处。 总结来说,Java ...
Java事件处理机制是一种用于在组件之间传递和处理事件的机制,它是GUI编程中不可或缺的一部分。在Java中,事件处理涉及到三个关键角色:事件对象(Event Object)、事件源(Event Source)和事件监听器(Event ...
总的来说,《JAVA事件处理指南》这本书将带领读者深入了解Java中的事件处理机制,包括事件源、事件、监听器的使用,以及如何构建响应用户操作的应用程序。通过实践书中提供的代码示例,开发者可以更熟练地运用这些...