Java——事件处理

一:事件处理机制:

定义:
Swing组件中的事件处理专门用于响应用户的操作,例如,响应用户的单击鼠标、按下键盘等操作。
Swing事件处理涉及的三类对象:
在这里插入图片描述

1、事件处理机制——事件处理流程

在这里插入图片描述
说明: 事件源是一个组件,当用户进行一些操作时,如按下鼠标或者释放键盘等,都会触发相应的事件,如果事件源注册了监听器,则触发的相应事件将会被处理。

2、事件处理机制——主要步骤

在这里插入图片描述
除了一些常见的按钮、键盘等组件可以作为事件源外,包括JFrame窗口在内的顶级容器也可以作为事件源;
在这里插入图片描述
根据要监听的事件源创建指定类型的监听器进行事件处理,该监听器是一个特殊的Java类,必须实现XxxListener接口(根据组件触发的动作进行区分,如WindowListener用于监听窗口事件,ActionListener用于监听动作事件);
在这里插入图片描述
使用addXxxListener()方法为指定事件源添加特定类型的监听器。当事件源上发生监听的事件后,就会触发绑定的事件监听器,然后由监听器中的方法进行相应处理

二:Swing常用事件处理:

在这里插入图片描述

1、窗体事件

说明:
对窗体进行操作时,例如窗体的打开、关闭、激活、停用等,这些动作都属于窗体事件。
Java中提供了一个WindowEvent类用于表示窗体事件
使用:
首先需要定义一个实现了WindowListener接口的类作为窗体监听器;
然后通过addWindowListener()方法将窗体对象与窗体监听器进行绑定。

2、鼠标事件

说明:
用户会经常使用鼠标来进行选择、切换界面等操作,这些操作被定义为鼠标事件,其中包括鼠标按下、鼠标松开、鼠标单击等。
Java中提供了一个MouseEvent类用于表示鼠标事件
几乎所有的组件都可以产生鼠标事件。
使用:
首先需要通过实现MouseListener接口定义监听器(也可以通过继承适配器MouseAdapter类来实现);
然后调用addMouseListener()方法将监听器绑定到事件源对象。

说明:
MouseEvent类中定义了很多常量来识别鼠标动作。
MouseEvent.BUTTON1:用来判定鼠标左击事件;
MouseEvent.BUTTON3:用来判定鼠标右击事件;
MouseEvent.BUTTON2:用来判定鼠标滚轮点击事件;

3、键盘事件

说明:
键盘操作也是最常用的用户交互方式,例如键盘按下、释放等,这些操作被定义为键盘事件。
Java中提供了一个KeyEvent类表示键盘事件
使用:
处理键盘事件的监听器对象需要实现KeyListener接口或者继承KeyAdapter类;
然后调用addKeyListener()方法将监听器绑定到事件源对象。

4、动作事件

说明:
动作事件与前面三种事件有所不同,它不代表某类事件,只是表示一个动作发生了。
例如,在关闭一个文件时,可以通过键盘关闭,也可以通过鼠标关闭。
在Java中,动作事件用ActionEvent类表示
使用:
处理动作事件的监听器对象需要实现ActionListener接口

三:事件监听器:

package First;

import java.awt.event.*;

import javax.swing.*;

public class _6_事件监听器 {
			public static void main(String[] args) {
				new MyFrame1("shijian");
			}
}

class MyFrame1 extends JFrame{
	JButton jbtn ; 
	MyFrame1(String title){
		super(title);
		jbtn = new JButton("ok");
		
//		在命令按钮上添加一个监视器
		jbtn.addActionListener(new MyMointor1());
		
		this.add(jbtn);
		this.setBounds(200, 300, 100, 200);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
	}
}

//不同的事件对应不同的监视器,监视器与事件是一一对应的
//实现监视器的时候都需要一个参数
class MyMointor1 implements ActionListener{
	public void actionPerformed(ActionEvent e) {
		System.out.println("ok");
	}
}

在这里插入图片描述
运行结果弹出了一个窗口,点击窗口中的ok按钮,会运行出在这里插入图片描述
说明:
不同的事件对应不同的监视器,监视器与事件是一一对应的。

实现监视器的时候都需要一个参数

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱睡觉的小馨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值