当前位置:
首页
文章
后端
详情

简述Java中的事件监听机制

有没有想过这样的一些问题?为什么点击界面,会有相应的反应?输入指定内容,会出现相对应的内容?本文将通过 Java 来讲解 Java 中的事件监听机制来解答这些问题,以下是详情内容。

事件监听机制的定义

Java事件监听机制在图形界面编程的时候应用的比较多。我们会时常对界面进行一系列的操作,比如在输入框输入内容、点击登录注册按钮等等,着一些操作都被称之为事件。当进行这些操作的时候,程序就会采取相应的措施来相应这些事件。

1.事件源对象

    (1)什么内容可以成为事件源对象?

    只有容器组件和元素组件可以成为事件源对象。

    (2)怎么确定界面上谁是事件源对象?

    当你的动作发生在哪一个组件上,那么这个组件就是事件源对象。

2、事件监听方法

    (1)事件监听方法由事件源对象提供。

    (2)事件监听方法捕获事件源对象上面的动作。如果有动作发生,则方法捕获动作,收集源对象的信息和动作信息,然后把这些信息交给事件接口的对象进行处理。

3、事件接口(处理类)

    事件接口对象拿到事件监听方法提供的信息后,会根据这些信息,去调用相应的事件处理方法。


接下来我们通过一个简单的实例代码感受一下:

思路

    1、构建一个窗体,再装上一个​start​按钮。

    2、定义​LoginListener​事件处理类。这个类继承了​ActionListener​动作事件接口,需要重写接口里面的抽象方法。

    3、实例化​LoginListener​事件处理对象。

    4、给事件处理类对象添加动作监听方法,并指定事件处理类对象。

代码实例:

//第一步就简单地构造一个窗体
package Login20190318;

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Graphics;

import javax.swing.JButton;
import javax.swing.JFrame;

//Draw类继承JFrame类  相当于Draw类就是JFrame类  直接调用JFram类中的属性和方法
public class Draw extends JFrame
{
	//入口主函数
	public void initUI()
	{
		this.setSize(1500,600);
		FlowLayout flowlayout=new FlowLayout(FlowLayout.CENTER,5,5);
		this.setLayout(flowlayout);
		JButton button=new JButton("Start");
		this.add(button);
		
		this.setVisible(true);
		
		//使窗体获得绘图板权限
		Graphics graphics=this.getGraphics();
		
		//实例化监听方法类  并传入参数
		DrawLis drawlis=new DrawLis(graphics);
	
		//使按钮button调用监听方法
		button.addActionListener(drawlis);
	}
	
	
	
	public static void main(String[] args) 
	{
		//实例化Draw类并调用入口函数
		Draw draw=new Draw();
		draw.initUI();
		
	}

}
//定义事件监听方法的类
package Login20190318;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import java.awt.Graphics;

//实现监听接口
public class DrawLis implements ActionListener
{

	private Graphics g;
	
	//构造方法用于传参
	public DrawLis(Graphics g)
	{
		this.g=g;
	}
	
	//定义监听方法,画一个椭圆
	public void actionPerformed(ActionEvent e)
	{
		Random random = new Random();
		int x=random.nextInt(1600);
		int y=random.nextInt(1600);
		g.fillOval(x,y,60,70);
	}
	
}

初始面板

初始面板

点击事件后,面板上出现一个黑色的球。

点击事件后


总结

以上就是Java中的事件监听机制简要概述的全部内容,想要了解更多关于Java的知识内容,请关注W3Cschool以往的文章或者继续浏览接下来的内容,请多多关注和支持我们。


免责申明:本站发布的内容(图片、视频和文字)以转载和分享为主,文章观点不代表本站立场,如涉及侵权请联系站长邮箱:xbc-online@qq.com进行反馈,一经查实,将立刻删除涉嫌侵权内容。

同类热门文章

深入了解C++中的new操作符:使用具体实例学习

C++中的new操作符是动态分配内存的主要手段之一。在程序运行时,我们可能需要动态地创建和销毁对象,而new就是为此提供了便利。但是,使用new也常常会引发一些问题,如内存泄漏、空指针等等。因此,本文将通过具体的示例,深入介绍C++中的new操作符,帮助读者更好地掌握其使用。


深入了解C++中的new操作符:使用具体实例学习

怎么用Java反射获取包下所有类? 详细代码实例操作

Java的反射机制就是在运行状态下,对于任何一个类,它能知道这个类的所有属性和方法;对于任何一个对象,都能调用这个对象的任意一个方法。本篇文章将通过具体的代码示例,展示如何通过Java反射来获取包下的所有类。


怎么用Java反射获取包下所有类? 详细代码实例操作

了解Java中的volati关键字的作用 以及具体使用方法

本篇文章将和大家分享一下Java当中的volatile关键字,下面将为各位小伙伴讲述volatile关键字的作用以及它的具体使用方法。


了解Java中的volati关键字的作用 以及具体使用方法

Java Map 所有的值转为String类型

可以使用 Java 8 中的 Map.replaceAll() 方法将所有的值转为 String 类型: 上面的代码会将 map 中所有的值都转为 String 类型。 HashMap 是 Java

Java Map 所有的值转为String类型

员工线上学习考试系统

有点播,直播,在线支付,三级分销等功能,可以对学员学习情况的监督监控,有源码,可二次开发。支持外网和局域网私有化部署,经过测试源码完整可用!1、视频点播:视频播放,图文资料,课件下载,章节试学,限时免

员工线上学习考试系统