Java事件处理步骤讲解
什么是事件?
用户对组件的一个操作,称之为一个事件。
- 事件源:能够产生事件的GUI组件对象。
- 事件处理方法:能够接受,解析和处理事件类对象,实现与用户交互功能的方法。
- 事件监听器:可以处理事件的一个类。
处理事件步骤:
假设事件为XXXX
1.向事件源注册某种事件的事件监听器对象
addXXXXListener(...);
2.设计好可以处理这种事件的事件监听器
class 类名 implements XXXXListener{ 重写XXXXListener接口中的方法 }
说明:
要想设计出能够处理XXXX事件的监听器,只需要编写出实现 XXXXListener接口的类就OK了,因为XXXXListener接口中已经定义了可以处理的XXXX事件的方法。
eg:
import java.awt.*; import java.awt.event.*; class A implements ActionListener{ public void actionPerformed(ActionEvent e){//单击事件 System.out.println("haha"); } } public class text{ public static void main(String[] args){ Frame f=new Frame(); Button bn=new Button("ok"); f.add(bn); A aa =new A(); bn.addActionListener(aa); f.pack();//只显示内容高度和宽度 f.setVisible(true); } }
事件有哪些:
- ActionEvent:激活组件时发生的事件
- KeyEvent:操作键盘时发生的事件
- MouseEvent:操作鼠标时发生
- WindowsEvent:操作窗口时发生的事件
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
相关推荐
-
谈谈JavaScript中super(props)的重要性
我听说 Hooks 最近很火.讽刺的是,我想用一些关于 class 组件的有趣故事来开始这篇文章.你觉得如何? 本文中这些坑对于你正常使用 React 并不是很重要. 但是假如你想更深入的了解它的运作方式,就会发现实际上它们很有趣. 开始第一个. 首先在我的职业生涯中写过的super(props) 自己都记不清: class Checkbox extends React.Component { constructor(props) { super(props); this.state = { i
-
深入探讨JavaScript的最基本部分之执行上下文
在这篇文章中,我将深入探讨JavaScript的最基本部分之一,即Execution Context(执行上下文). 在本文结束时,你应该对解释器了解得更清楚:为什么在声明它们之前可以使用某些函数或变量?以及它们的值是如何确定的? 什么是执行上下文? JavaScript的执行环境非常重要,当JavaScript代码在行时,会被预处理为以下情况之一: Global code - 首次执行代码的默认环境. Function code - 每当执行流程进入函数体时. Eval code - 要在ev
-
JavaTCP上传文本文件代码
基于聊天客户端的基础上的文件(TXT文件)传输 客户端代码: public class UploadClient { public static void main(String[] args) throws UnknownHostException, IOException { // TODO Auto-generated method stub //1,创建socket客户端对象 Socket s = new Socket("localhost",10005); //2,读取本地文
-
Java多线程实战之交叉打印的两种方法
要求效果:先打印5次"printA-",再打印5次"printB-",每次打印间隔1秒,重复循环20次 方式一:使用wait()和notifyAll()方法 public class MyService { private volatile boolean flag = false; public synchronized void printA() { try { while (flag) { wait(); } for (int i = 0; i < 5;
-
Maven项目部署到服务器设置访问路径以及配置虚拟目录的方法
一.概念 Tomcat的虚拟目录即在服务器上另选择一个webapps之外的文件夹存放项目文件,通过配置Tomcat的属性,实现访问. 注:未配置虚拟目录,则只能访问webapps/ROOT范围内的文件 二.本机Tomcat配置实例 只需在Host配置项内加入 Context 配置,在 /Tomcat/conf/server.xml 文件加上如下Context配置: <Host name="localhost" appBase="webapps" unpackW
-
Java多线程实战之单例模式与多线程的实例详解
1.立即加载/饿汉模式 // 立即加载/饿汉模式 public class MyObject { private static final MyObject myObject = new MyObject(); private MyObject() { } public static MyObject getInstance() { return myObject; } } 立即加载/饿汉模式是在类创建的同时已经创建好一个静态的对象供系统使用,不存在线程安全问题 2.延迟加载/懒汉模式 // 延
-
Javascript迭代、递推、穷举、递归常用算法实例讲解
累加和累积 累加:将一系列的数据加到一个变量里面.最后的得到累加的结果 比如:将1到100的数求累加和 小球从高处落下,每次返回到原来一半,求第十次小球落地时小球走过的路程 <script> var h=100; var s=0; for(var i=0;i<10;i++){ h=h/2; s+=h; } s=s*2+100; </script> 累积:将一系列的数据乘积到一个变量里面,得到累积的结果. 常见的就是n的阶乘 var n=100; var result= 1;
-
JavaScript常用工具方法封装
因为工作中经常用到这些方法,所有便把这些方法进行了总结. JavaScript 1. type 类型判断 isString (o) { //是否字符串 return Object.prototype.toString.call(o).slice(8, -1) === 'String' } isNumber (o) { //是否数字 return Object.prototype.toString.call(o).slice(8, -1) === 'Number' } isBoolean (o)
-
实例讲解Java中random.nextInt()与Math.random()的基础用法
1.来源 random.nextInt() 为 java.util.Random类中的方法: Math.random() 为 java.lang.Math 类中的静态方法. 2.用法 产生0-n的伪随机数(伪随机数参看最后注解): // 两种生成对象方式:带种子和不带种子(两种方式的区别见注解) Random random = new Random(); Integer res = random.nextInt(n); Integer res = (int)(Math.random() * n)
-
Java五子棋AI实现代码
思路: ①五子棋界面的实现 ②交互下棋的实现 ③重绘 ④AI,实现人机对战 五子棋和简单AI的实现: 首先将五子棋的界面写出来. 首先我们写一个接口类,定义好棋盘的数据(目的是方便修改). public interface Config { public static final int X0=50;//左上角起点X值 public static final int Y0=50;//左上角起点Y值 public static final int ROWS=15;//横向线数 public sta
随机推荐
- Linux 下进程的挂起和恢复命令
- vue.js动态数据绑定学习笔记
- oracle—SQL技巧之(二)WMSYS.WM_CONCAT函数实现多行记录用逗号拼接在一起
- CodeIgniter配置之routes.php用法实例分析
- PHP中cookies使用指南
- 基于Android的英文词典的实现方法
- 如何修改mysql数据库的max_allowed_packet参数
- jQuery窗口拖动功能的实现代码
- JS高级拖动技术 setCapture,releaseCapture
- 用注解编写创建表的SQL语句
- js分页显示div的内容
- Centos搭建PHP5.3.8+Nginx1.0.9+Mysql5.5.17详细配置
- C#实现验证身份证是否合法的方法
- 使用GetInvalidFileNameChars生成文件名
- JavaScript实现打开链接页面的方式汇总
- swift4.0实现视频播放、屏幕旋转、倍速播放、手势调节及锁屏面板等功能实例
- 微信小程序自定义多列选择器使用详解
- 浅谈pytorch grad_fn以及权重梯度不更新的问题
- Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
- Android自定义横向滑动菜单的实现