事件和事件源

在运行java图形用户界面程序时,用户与程序交互,用户执行了某些操作时,会发生一些事情, 那么事件(event)可以定义为程序发生了某些事情的信号.典型用户操作就是用户移动鼠标,点击按钮,敲击键盘等.程序可以选择相应事件或者忽略事件。

 能够创建一个事件并触发该事件的组件称为源对象。例如由于按钮能够点击, 那么按钮就是一个源对象,按钮被点击就是一个事件。

一个事件是事件类的实例对象。事件类的根类是java.util.EventObject。

事件对象包含事件相关的属性,可以使用EventObject类中的实例方法getSource获得事件的源对象。

EventObject类的子类可以描述特定类型的事件

例如:



用户动作

源对象

触发的事件类型

点击按钮

JButton

ActionEvent

文本域按回车

JTextField

ActionEvent

窗口打开,关闭,最小化,关闭

Window

WindowEvent

单击,双击,移动,鼠标

Component

MouseEvent

点击单选框

JradioButton

ItemEvent ActionEvent

点击复选框

JcheckBox

ItemEvent ActionEvent



效果如下:



事件和事件源_事件

左击鼠标或者空格后

事件和事件源_复选框_02


代码如下:

package com.cn.gui.event;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import com.cn.gui.util.FrameUtil;
/**
* Author:Liu Zhiyong(QQ:1012421396)
* Version:Version_1
* Date:2016年8月13日21:11:05
* Desc:
事件:当发生了某个事件的时候,就会有相应的处理方案。
*/
public class Demo1 {
public static void main(String[] args) {
JFrame frame = new JFrame("事件窗体");

JButton button = new JButton("点我啊");
frame.add(button);
//给按钮添加动作监听器,动作事件监听器对于鼠标点击以及空格键都会起作用
button.addActionListener(new ActionListener() {
//当按钮被点击的时候,就会调用actionPerformed方法
@Override
public void actionPerformed(ActionEvent e) {//ActionEvent 当前按钮被点击的时候,JVM就会把对应的事件传递ActionEvent,并且调用actionPerformed方法
JButton button = (JButton)e.getSource();//获取到事件源
if(button.getText().equals("点我啊")){
button.setText("点他吧");
}else{
button.setText("点我啊");
}
}
});

//自定义窗体初始化函数
FrameUtil.initFrame(frame, 300, 400);
}
}