java事件处理模型知识点总结

 更新时间:2021年01月31日 09:43:07   投稿:laozhang  
在本篇文章里小辫给大家分享的是一篇关于java事件处理模型知识点总结内容,有兴趣的朋友们可以学习下。

我们在上手一个新项目时,对于陌生的环境不适用难免会出现一些错误,这时候就需要有经验的人来帮忙。java中的事件处理模型就类似这样的原理,分为三类对象,在特定的环境下,由监听器对事件源进行监督。下面我们就java事件处理模型的基本原理、三类对象、实例分别进行学习。

1.基本原理

每个事件源可以发出若干种不同类型的事件。在程序中为每个事件源指定一个或者多个监听者,它可以对某种事件进行监听。如果某种事件发生,就调用相应监听者中的方法。

2.三类对象

(1)Event Source(事件源):事件发生的场所,通常就是各个组件,如按钮,窗口;

(2)Event(事件):事件封装了界面组件上发生的特定事情。

(3)Event Listener(事件监听器):负责监听事件源所发生的事件,并对各种事件做出相应的响应。

3.实例

package Swing;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Event_Exam extends JFrame implements ActionListener {
static Event_Exam mainJFrame=new Event_Exam();
static JLabel labl1,labl2;
static JLabel showlb1=new JLabel("0");
static JLabel showlb2=new JLabel("0.0");
static JTextField text1,text2;
public static void main(String[] args) {
// TODO Auto-generated method stub
mainJFrame.setTitle("操作事件示例!");
mainJFrame.setSize(200, 160);
Container container=mainJFrame.getContentPane();
container.setLayout(new FlowLayout());
labl1=new JLabel("输入整数型:");
container.add(labl1);
text1=new JTextField("0",10);
text1.addActionListener(mainJFrame);//把监听者mainJFrame向事件源text1注册
container.add(text1);
labl2=new JLabel("输入浮点数:");
container.add(labl2);
text2=new JTextField("0.0",10);
text2.addActionListener(mainJFrame);//把监听者mainJFrame向事件源text2注册
container.add(text2);
showlb1.setForeground(Color.blue);
showlb1.setHorizontalTextPosition(SwingConstants.LEFT);
showlb2.setForeground(Color.green);
showlb2.setHorizontalTextPosition(SwingConstants.LEFT);
container.add(showlb1);
container.add(showlb2);
mainJFrame.setVisible(true);
}
public void actionPerformed(ActionEvent e) {//事件发生时的处理操作
//提取文本框内容并显示在showlb1、showlb2中
showlb1.setText("整数为"+text1.getText());
showlb2.setText("浮点数为"+text2.getText());
}
}

java的事件模型知识点扩展:

事件模型

首先你得有个事主儿(事件源),啥时候做个事通知我下,我好处理,OK,在我这注个册吧,有事告你声,你好处理,事情来了,调用准备好的方法XX。。。

事件源 ---发生事件的对象

事件--- 发生了什么事 eg :MouseEvent KeyEvent actionEvent等等

监听器 -- 监听某component的某个事件 一般有实现某种监听器的类的对象来监听 一般把事件源对象的具体信息封装到e(监听器的方法参数里 XXEvent e)

注册 -- addXXListener(XXListener) component的addXXListener(实现XX监听器的对象) 监听谁,登个记,注意这个事组件的addXXListener方法

回调方法 -- 预先准备好了,如果你xx,我就调用之前准备好的事件处理程序XX

到此这篇关于java事件处理模型知识点总结的文章就介绍到这了,更多相关java事件处理模型是什么内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring+Mybatis 实现aop数据库读写分离与多数据库源配置操作

    Spring+Mybatis 实现aop数据库读写分离与多数据库源配置操作

    这篇文章主要介绍了Spring+Mybatis 实现aop数据库读写分离与多数据库源配置操作,需要的朋友可以参考下
    2017-09-09
  • ArrayList和JSONArray边遍历边删除到底该如何做

    ArrayList和JSONArray边遍历边删除到底该如何做

    这篇文章主要介绍了ArrayList和JSONArray边遍历边删除到底该如何做,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • 基于注解的组件扫描详解

    基于注解的组件扫描详解

    这篇文章主要介绍了基于注解的组件扫描详解,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • springboot+thymeleaf+mybatis实现甘特图的详细过程

    springboot+thymeleaf+mybatis实现甘特图的详细过程

    这篇文章主要介绍了springboot+thymeleaf+mybatis实现甘特图的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • 一文看懂Mybatis中的延迟加载

    一文看懂Mybatis中的延迟加载

    这篇文章主要介绍了一文看懂Mybatis中的延迟加载,延迟加载也称为懒加载,是指在进行表的关联查询时,按照设置延迟规则推迟对关联对象的select查询,MyBatis 的延迟加载只是对关联对象的查询有迟延设置,对于主加载对象都是直接执行查询语句的,需要的朋友可以参考下
    2023-10-10
  • SpringBoot2.0如何自定义404页面渲染

    SpringBoot2.0如何自定义404页面渲染

    这篇文章主要介绍了SpringBoot2.0如何自定义404页面渲染问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • idea 找不到符号或找不到包的几种解决方法

    idea 找不到符号或找不到包的几种解决方法

    这篇文章主要介绍了idea 找不到符号或找不到包的几种解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • java参数传递之值传递和引用传递

    java参数传递之值传递和引用传递

    这篇文章主要介绍了java参数传递之值传递和引用传递,引用了两个代码实例来讲解,有感兴趣的同学可以研究下
    2021-02-02
  • Dependency ‘XXX:‘ not found问题的三步解决

    Dependency ‘XXX:‘ not found问题的三步解决

    这篇文章主要介绍了Dependency ‘XXX:‘ not found问题的三步解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 一篇文章带你了解Java Spring基础与IOC

    一篇文章带你了解Java Spring基础与IOC

    这篇文章主要介绍了Java Spring基础与IOC,文中讲解的相关内容非常详细,也运用了大量的代码进行讲解,感兴趣的小伙伴可以参考一下
    2021-08-08

最新评论