Java事件处理机制

本文详细介绍了Java事件处理的基本概念,包括事件源、不同类型的事件如ActionEvent、MouseEvent等,以及如何通过事件监听器接口如KeyListener处理这些事件,以小球移动为例,展示了如何在Swing应用中实现键盘监听和响应。
摘要由CSDN通过智能技术生成

目录

1. 基本介绍

2. 全面介绍

2.1 事件源

2.2 事件

2.3 事件类型

2.4 事件监听器接口

3. 示例演示


1. 基本介绍

java事件处理是采取“委派事件模型”。当事件发生时,产生事件的对象,会把此“信息”传递给“事件的监听者”处理,这里所说的“信息”实际上就是java.awt.event事件类库里某个类所创建的对象,把它称为“事件的对象”。

示意图:

2. 全面介绍

2.1 事件源

是一个产生事件的对象,比如按钮,窗口等。

2.2 事件

是承载事件源状态改变时的对象,比如当键盘事件、鼠标事件、窗口事件等状态改变时,会生成一个事件对象,该对象保存着当前事件很多信息,比如KeyEvent对象含有被按下键的Code值。java.awt.event包和javax.swing.event包中定义了各种事件类型。

2.3 事件类型

①ActionEvent 通常在按下按钮,或双击一个列表项或选中某个菜单时发生

②AdjustmentEvent 当操作一个滚动条时发生

③ComponentEvent 当一个组件隐藏,移动,改变大小时发生

④ContainerEvent 当一个组件从容器中加入或者删除时发生

⑤FocusEvent 当一个组件获得或是失去焦点时发生

⑥ItemEvent 当一个复选框、列表项、选择框、选择菜单被选中时发生

⑦KeyEvent 当从键盘的按键被按下,松开时发生

⑧MouseEvent 当鼠标被拖动,移动,点击,按下…时发生

⑨TextEvent 当文本区和文本域的文本发生改变时发生

⑩WindowEvent 当一个窗口激活、关闭、失效、恢复、最小化…时发生

2.4 事件监听器接口

①当事件源产生一个事件,可以传送给事件监听者处理。

②事件监听者实际上就是一个类,该类实现了某个事件监听器接口,比如前面我们案例中的MyPanle就是一个类,它实现了KeyListener接口,它就可以作为一个事件监听者,对接受到的事件进行处理。

③事件监听器接口有多种,不同的事件监听器接口可以监听不同的事件,一个类可以实现多个监听接口。

④这些接口在java.awt.event包和javax.swing.event包中定义。

3. 示例演示

(以 让小球移动 为例)

(1)为了让小球可以动态移动,将小球左上角的坐标(x,y)设置为变量。

(2)使MyPanel类实现KeyListener接口,KeyListener是监听器,可以监听键盘事件。

(3)实现KeyListener接口的三个方法,根据不同的需求完成对应方法的具体内容编写。

(4)在keyPressed()方法编写移动逻辑:根据用户按下的上下左右键来让小球进行上下左右移动。调用getKeyCode()方法获取用户输入的键值,和使用KeyEvent调用的Java底层设置的上下左右的键值进行比较,进行对应的移动。完成以上操作后,最后需要调用repaint()方法,重绘面板。

(5)在主类的构造器中,调用addKeyListener()方法,使窗口JFrame可以监听mp键盘事件,即 可以监听MyPanel面板发生的键盘事件,就完成了对事件的处理。

  • 26
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值