事件监听学习笔记
来源:互联网 发布:轻而易举软件培训视频 编辑:程序博客网 时间:2024/05/21 19:28
本次课程笔记主要记载事件处理的相关内容
事件源:一个产生事件的对象,当这个源对象的某些状态以某种方式发生变化时,就会发生某种类型的事件(一个事件源可能
会生成多个不同类型的事件)。如果某个对象(事件监听者)希望得到事件源产生的事件就需要在这个事件源上注册。
事件: 承载事件源状态改变时的信息对象。用户与GUI组件进行交互时就会发生事件
比如当鼠标在面板中移动时,就会生成一个鼠标移动事件的对象,而这个对象保存着当前鼠标在面板中位置信息
事件监听者: 实际上就是一个类,该类实现了某个事件监听器借口,不同的事件监听器接口可以监听不同的事件一个类可以实现一
个事件监听接口,也可以实现多个监听接口
--------------------------------------------------------------------------------------无耻的分割线-------------------------------------------------------------------------------
补充:事件可以是鼠标事件、键盘事件、触摸事件或者鼠标移动事件等;事件源就是产生事件的组件,事件监听器就是事件源产生
事件时响应的接口
举个-
例子1:轿车剧烈震动时会自动报警(在开启报警的情况下),在这里事件源就是车子,因为是车子产生震动的,所以事件是震动
(或者说是报警事件),事件监听器是报警器。
例子2:按钮被我按下了,在这里我是属于外界,是我促使干预了按钮才让按钮产生了click事件,所以按钮是事件源,click是
事件,下面哪个接口响应了就是事件监听器。监听器类(Onclick)一般系统都自带了,如果要用的话implements一下就行。
谁直接产生事件谁就是事件源,而对本次事件产生反应的就是事件监听器 。
下面是事件源、事件、事件监听器之间的关系。
事件处理步骤
① 创建事件监听器。
② 给事件源注册事件监听器。
③ 在事件处理方法中做自己要做的事。
import java.awt.*;import javax.swing.*;import java.awt.event.*;//类Demo_7事件监听者 实现事件监听接口ActionListenerpublic class Demo_7 extends JFrame implements ActionListener{JPanel pl;JButton jb1,jb2;public static void main(String[] args) {new Demo_7();}public Demo_7(){Dog dog = new Dog();pl = new JPanel();//背景色默认是黑色pl.setBackground(Color.black);jb1 = new JButton("蓝色");jb2 = new JButton("黄色");/* * 注册监听 * 个人理解:注册监听有点像导线,一根连着事件源与事件监听者 */jb1.addActionListener(this);jb1.addActionListener(dog);jb2.addActionListener(this);jb2.addActionListener(dog);//指定action命令jb1.setActionCommand("蓝色");jb2.setActionCommand("黄色");this.add(pl);this.add(pl);this.add(jb1,BorderLayout.NORTH);this.add(jb2,BorderLayout.SOUTH);this.setTitle("事件监听测试");this.setSize(200,200);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}public void actionPerformed(ActionEvent e) {if(e.getActionCommand().equals("黄色")){pl.setBackground(Color.yellow);}if(e.getActionCommand().equals("蓝色")){ pl.setBackground(Color.blue);}}}//类Dog可以作为事件监听者实现事件监听接口 ActionListener class Dog implements ActionListener{/** * * 实现监听器接口中的事件处理方法 */public void actionPerformed(ActionEvent e) {if(e.getActionCommand().equals("黄色")){System.out.println("狗:你点了黄色");}if(e.getActionCommand().equals("蓝色")){ System.out.println("狗: 你点了蓝色");}}}
运行程序后出现 面板默认是黑色的
点击按钮(蓝色) 面板变成蓝色 与此同时 控制台打印了一句话: 狗:你点了蓝色
- 事件监听-学习笔记
- 事件监听学习笔记
- Flex 监听键盘事件(学习笔记)
- java学习笔记---事件驱动监听类
- Andorid学习笔记:事件监听合集
- Android中监听点击事件----学习笔记
- JAVA学习笔记(四十七)- 事件监听
- tolua 学习笔记 UI监听事件
- springboot学习----事件监听
- Android学习笔记03_Android 事件监听的使用(Listener)
- Flex学习笔记02 事件监听和分派
- Andorid学习笔记8:事件监听合集
- 学习笔记--cocos2dx-3.0中LabelTTF添加触摸监听事件
- ios学习笔记:UIAlertView使用和监听点击事件
- jQuery-mobile 学习笔记之三(事件监听)
- Android学习笔记--监听按钮的点击事件
- Selenium学习笔记6--EventFiringWebDriver网页事件监听
- extjs4学习笔记(二)----- 监听事件beforeload使用
- CSS盒模型 #日后查阅#
- 模板库的基本使用( 《一》 对象管理)
- 64位Linux使用yum安装两个相同软件不同版本包的解决方法
- 临界区,互斥量,信号量,事件的区别
- 如何在Linux终端里用Shell和C输出带颜色的文字
- 事件监听学习笔记
- SOJ 4021 Cocircular Points
- HDU 2242 考研路茫茫——空调教室
- 【.Net MF网络开发板研究-04】Socket编程之服务端
- Substrings
- 现在开始学C++:请教问题一
- 模板库的基本使用( 《二》 对象管理)
- 网工
- win7护眼透明主题 “魅力win7”