java学习篇-------对事件的理解

原创 2015年07月10日 10:51:33
java事件驱动程序====


事件,就是用户的一个操作。
事件就是用户对组件的一个操作。
如何理解事件监听器???


事件监听器调用事件处理方法。
由事件监听器来监听着按钮是否接受来自用户的单击操作。
事件监听器一直在监听。


如何从汇编的角度理解: 事件监听器???






对下面这个程序做详细的分析:






import java.awt.event.*;
import java.awt.*;


public class TestButton
{
public static void main(String[] args)
{
Frame f=new Frame(); //  创建了一个框架对象。
Button bn=new Button("OK!"); // 创建了一个按钮对象。

f.add(bn); // 调用框架的add()方法,把按钮对象,添加到框架中。
A aa=new A();
bn.addActionListener(aa); // 向鼠标按钮添加一个动作监听器。用aa来监听bn按钮。
即:告诉bn可以产生aa事件。
f.pack();
f.setVisible(true);


}


}






class  A implements ActionListener
{
public void actionPerformed(ActionListener)
{
System.out.println("今天天气不错!");
}



}


点击按钮A,则触发的这个点击事件必须,交给按钮A去处理。不然就是造成混乱。


不同的方法,处理不同的事件。








事件的处理步骤:
()
假设事件是XXXA
:
()1.向事件源注册某种事件的事件监听器对象  //  addXXXAListener(..);
()2.设计好可以处理这种事件的事件监听器
class 类名 implements  XXXAListener
{
重写XXXAListener接口中的方法

}

implement  ['ɪmplɪm(ə)nt] 实施,执行;实现,使生效
n. 工具,器具;手段




说明:要想设计出能够处理XXXA事件的监听器,只需要编写出实现XXXAListener接口的类就行啦。
 因为XXXAListener接口中已经定义了可以处理XXXA事件的方法。
 
 
()默认情况下,事件源不会自动产生任何事件,程序员需要做两件事:
:告诉事件源可以地洞产生哪类事件,即:向事件源注册某种事件的事件监听器对象。
:设计好可以处理这种事件的事件监听器。
 
 
 
 当用户对事件源进行操作时,事件源就会自动产生事件,事件源就会自动把产生的事件封装成
一个事件对象,事件源就会自动把封装好的事件对象传递给事件监听器。


事件监听器收到事件源发送过来的事件时,事件监听器就会自动调用相应的事件处理方法来对该事件进行相应的处理。




很重要的一点就是:
什么样的事件,用什么样的方法处理。
即: A class的对象事件,当被触发产生时,编译器就会调用,A class的方法来处理该事件。
根据事件类型,去寻找相应的处理方法。而处理方法是在事件监听器接口中定义的。


其实,事件的处理就是一次函数调用。


用我自己的方式理解事件。
:::
:::
()每个对象都有它的堆栈和运行空间,以及相应的表结构。表中记录有与该对象有关的信息。
而所谓的给某一个源对象注册一个事件,其实就是:在给对象的相应的表结构中,
添加:   事件A   |   事件A的处理方法的函数入口地址
于是,当一个事件A,产生时,那么,给对象通过查表,可以看到该事件A的处理方法函数的入口地址


因此,所谓的注册就是,告诉编译器到那里去找它的处理方法,即:让该组件对象记录下,监听器在内存中的函数入口点地址。


还有一个问题:


如何理解事件监听器接口???















































































版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Java + C# 事件机制理解

  • 2016-11-29 13:03
  • 16KB
  • 下载

18. JAVA 图形界面 Part 2(JTextComponent、事件处理、单选按钮、复选框、列表框、下拉列表框、菜单组件、文件选择) ----- 学习笔记

18.9 文本组件: JTextComponent        各个软件系统中都存在文本

[Java学习日志]浅谈接口与事件

初入Java,有过C++学习经历,在此记录下Java学习历程。 今天简单说下关于Java的接口与事件。 什么是接口?在C++中,对接口的解释为————接口是一个共享框架,供两个系统之间交互时使用。...

java 事件小学习

初学java,最近在项目中遇到事件监听,网上搜了一下,看到一篇讲解监听的博客,初看的时候被里边的各种专用名词搞晕了(从名词看,感觉监听貌似非常智能了,什么都是自动触发),自己模仿写了一遍后才发现,其实...

Java语言学习--Swing中Button事件监听

一、前言今天在使用Java Swing中的JButton的事件触发机制时遇到了许多问题,简单的了解了一下。二、事件监听机制下面用一张图分析事件监听的机制(图片来自网络): 三、代码分析3.1 分...

黑马程序员--Java学习笔记之Web开发—JavaScript常用触发事件总结

1.单击事件___onclick 用户单击鼠标按键时产生的事件.同时onclick指定的事件处理程序或代码将被调用执行. 如:   2.改变事件___onchange 当text或textarea元素...

JAVA基础 day24 GUI的学习 事件监听机制 编写简易的记事本 jar包双击执行

GUI:图形用户接口JAVA为GUI提供的对象都在java.Awt和javax.Swing两个包里。java.Awt:Abstract Window ToolKit(抽象窗口工具包),需要调用本地系统...

Java学习笔记----事件驱动程序设计

事件驱动程序设计
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)