class="p0">事件机制
事件的监听:Java中的事件是整个Java消息传递的基础和关键。牵涉到两类对象:事件发生者和事件的监听者。事件的发生者是事件的起源,它可以是一个按钮,编辑框等。事件的监听者就是事件的接受者,如果想接收某件事,它必须对该事件的发生者说一声,这个过程相当与在事件发生者那儿注册了一下。
事件源:
事件的动作发生在哪个对象上,那这个对象就可以理解为事件源,Java中所有的图形界面组件都是可以成为事件源对象。
Java中常用的监听器:
动作监听器?ActionListener
鼠标监听器?MouseListener
鼠标移动监听器?MouseMontionListener
键盘监听器:KeyListener
简单动作监听器的使用:
(1).首先编写监听器的方法:
import?java.awt.event.ActionEvent;
?
/**
?*?登录的监听器,实现的作监听器接口
?*/
Public??class??LoginListener??implements
java.awt.event.AtionListener{
//重写从接口中继承来的方法
//监听器中的方法是通过事件触发自动调用?的
public?void?actionPerformed(ActionEvent?e){
System.out.println("点击了!!");
}?
(2).然后再主函数中调用
如:在QQ界面中的“登陆”按钮安装监听器
//创建动作监听器对象
LoginListener?lis?=?new?LoginListener();
//给按钮装上动作监听器
btn.addActionListener(lis);
运行结果:只要在QQ界面上按下登陆按钮,就会实行
System.out.println("点击了!!");语句,输出:点击了!!
?
?
鼠标监听器的方法实例:
?
import java.awt.event.MouseEvent; import java.awt.event.MouseListener; /** * 定义一个监听器类实现鼠标监听器接口 * */ public class MyMouseListener implements MouseListener{ /** * 鼠标在事件源上单击时会执行该方法 */ @Override public void mouseClicked(MouseEvent e) { // TODO Auto-generated method stub System.out.println("点击了"); } /** * 鼠标在事件源上发生按下事件时执行的方法 */ @Override public void mousePressed(MouseEvent e) { // TODO Auto-generated method stub System.out.println("按下了"); } /** * 鼠标在事件源上发生松开事件时执行的方法 */ @Override public void mouseReleased(MouseEvent e) { // TODO Auto-generated method stub System.out.println("按下后松开了"); } /** * 鼠标进入事件源时执行的方法 */ @Override public void mouseEntered(MouseEvent e) { // TODO Auto-generated method stub System.out.println("进入了事件源"); } /** * 鼠标离开事件源时执行的方法 */ @Override public void mouseExited(MouseEvent e) { // TODO Auto-generated method stub System.out.println("离开了事件源"); } }
?
?
<!--EndFragment-->