java监听器原理

事件:在授权事件模型中,事件是一个描述事件源状态改变的对象 。 通过鼠标、键盘与 GUI 界面直接或间接交互都会生成事件。 如:按下一个按钮、通过键盘输入一个字符、选择列表框中的一项、点击一下鼠标等。事件源:事件源是一个生成事件的对象 一个事件源可能会生成不同类型的事件,事件源提供了一组...
java监听器原理
import java.awt.event.ItemListener; import java.awt.event.ItemEvent; import javax.swing.JFrame; import javax.swing.JComboBox; public class ComBoxDemo extends JFrame { JComboBox computer; //主类别下拉框 JComboBox fittings; //配件下拉框 public ComBoxDemo() { super("ComBoxDemo"); this.setLayout(null); computer=new JComboBox(new String[]{"", "联想电脑", "华硕笔记本", "IBM笔记本"}); fittings = new JComboBox(); //设置两个下拉框的位置和大小 computer.setBounds(100, 40, 100, 25); fittings.setBounds(100, 80, 100, 25); //添加事件监听器 computer.addItemListener(new ItemListener() { //设置几组常量保存各电脑品牌的配件信息 private final String[] ITEM_LX = {"联想CPU", "联想内存", "联想显示器"}; private final String[] ITEM_HS = {"华硕CPU", "华硕内存", "华硕液晶屏"}; private final String[] ITEM_IBM = {"IBMCPU", "IBM内存", "IBM液晶屏"}; //开始itemStateChanged方法,该方法在选择一台电脑时自动调用 public void itemStateChanged(ItemEvent e) { //首先获得选择的电脑品牌的索引号 int index = computer.getSelectedIndex(); //将配件下拉框中的所有项移除 fittings.removeAllItems(); //判断所选的电脑品牌 switch (index) { case 1: //联想电脑 addItems(ITEM_LX); break; case 2: //华硕笔记本 addItems(ITEM_HS); break; case 3: //IBM笔记本2015-02-15
Java 最新的事件处理方法是基于授权事件模型,事件源生成事件并将其发送至一个或多个监听器,监听器简单地等待,直到它收到一个事件。一旦事件被接受,监听器将处理这些事件,然后返回。

事件:在授权事件模型中,事件是一个描述事件源状态改变的对象 。 通过鼠标、键盘与 GUI 界面直接或间接交互都会生成事件。 如:按下一个按钮、通过键盘输入一个字符、选择列表框中的一项、点击一下鼠标等。

事件源:事件源是一个生成事件的对象
一个事件源可能会生成不同类型的事件,事件源提供了一组方法,用于为事件注册一个或多个监听器。
每种事件的类型都有其自己的注册方法。一般形式为:public void add<EventType>Listener (TypeListener e)
AWT采取的事件控制过程:监听器对象属于一个类的实例,这个类实现了一个特殊的接口,名为“监听者接口”
事件源是一个对象,它可以注册一个或多个监听器对象,并向其发送事件对象。
事件源将在发生事件时向所有注册的监听器发送事件对象。
监听器对象使用事件对象中的信息来确定它们对事件的响应

事件模型:
基于代理(授权)事件模型,事件处理是一个事件源授权到一个或者多个事件监听器。其基本原理是:组件激发事件,事件监听器监听和处理事件,可以调用组件的add<EventType>Listener方法向组件注册监听器。把其加入到组件以后,如果组件激发了相应类型的事件,那么定义在监听器中的事件处理方法会被调用。

此模型主要由以三种对象为中心组成
事件源 由它来激发产生事件
是产生或抛出事件的对象。
事件监听器 由它来处理事件
实现某个特定EventListener 接口,此接口定义了一种或多种方法,事件源调用它们以响应该接口所处理的每一种特定事件类型 。
事件 具体的事件类型
事件类型封装在以java.util.EventObject为根的类层次中。当事件发生时,事件记录发生的一切事件,并从事件源传播到监听器对象
2015-11-16
mengvlog 阅读 9 次 更新于 2025-07-19 19:36:15 我来答关注问题0
  •  翡希信息咨询 java 监听mq消息 底层是用线程实现的吗

    Java监听MQ消息不是通过线程实现的,而是通过一种注册通知机制实现的。这种机制类似于Java设计模式中的观察者模式。以下是关于这种机制的一些关键点:注册机制:在Java中,监听MQ消息通常涉及到一个消息监听器的注册过程。这个监听器会实现一个特定的接口,该接口定义了当消息到达时需要执行的操作。消息中间件...

  • 基于代理(授权)事件模型,事件处理是一个事件源授权到一个或者多个事件监听器。其基本原理是:组件激发事件,事件监听器监听和处理事件,可以调用组件的addListener方法向组件注册监听器。把其加入到组件以后,如果组件激发了相应类型的事件,那么定义在监听器中的事件处理方法会被调用。此模型主要...

  •  翡希信息咨询 Listener(倾听者)

    Listener的底层原理涉及到一种设计模式:观察者模式。监听器作为一个实现了特定接口的Java程序,专门用于监听另一个Java对象的行为。当被监听对象发生特定行为时,它会主动通知相应的监听器,让监听器执行对应的特定操作。Listener的作用:Listener在JavaWeb中起到了重要的监听和通知作用,使得开发者可以在特定...

  •  wu1048745542 在程序中(java,C#)监听器是啥玩意?

    监听器即listen,指的是被动监听,举例来说我有一个温度计,它一直监听着温度,如果温度发生了变化水银柱的高度就发生变化,这里温度计是一个监听器,温度变化是一个事件,当这个时间出发了监听器时,则得到水银柱高度变化这么个结果,你懂了么?

  •  文暄生活科普 Listener(倾听者)

    其实!大家觉得监听器难,是因为根本不知道为啥它能起作用。监听器的底层原理其实涉及到一种设计模式:观察者模式(Observer)。先来看监听器的定义:监听器就是一个实现了特定接口的普通Java程序,这个程序专门用于监听另一个Java对象的方法调用或者属性改变。当被监听对象发生上述事件后,监听器某个方法将...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部