事件和事件源 在运行java图形用户界面程序时,用户与程序交互,用户执行了某些操作时,会发生一些事情,那么事件(event)可以定义为程序发生了某些事情的信号.典型用户操作就是用户移
事件和事件源
在运行java图形用户界面程序时,用户与程序交互,用户执行了某些操作时,会发生一些事情, 那么事件(event)可以定义为程序发生了某些事情的信号.典型用户操作就是用户移动鼠标,点击按钮,敲击键盘等.程序可以选择相应事件或者忽略事件。
能够创建一个事件并触发该事件的组件称为源对象。例如由于按钮能够点击, 那么按钮就是一个源对象,按钮被点击就是一个事件。
一个事件是事件类的实例对象。事件类的根类是java.util.EventObject。
事件对象包含事件相关的属性,可以使用EventObject类中的实例方法getSource获得事件的源对象。
EventObject类的子类可以描述特定类型的事件
例如:
用户动作
源对象
触发的事件类型
点击按钮
JButton
ActionEvent
文本域按回车
JTextField
ActionEvent
窗口打开,关闭,最小化,关闭
Window
WindowEvent
单击,双击,移动,鼠标
Component
MouseEvent
点击单选框
JradioButton
ItemEvent ActionEvent
点击复选框
JcheckBox
ItemEvent ActionEvent
效果如下:
左击鼠标或者空格后
代码如下:
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);
}
}