Java中的事件处理
2014-03-02 14:44
190 查看
图形用户界面提供人机交互的页面,但业务功能实现是通过事件驱动来完成的。在图形用户界面中,程序的运行是由于某个事件的发生,使事件源监听到该事件并进行处理。如使用鼠标(事件)单击一个按钮(事件源),按钮监听到事件后进行下一步的处理。事件处理中有三个主要的概念:事件、事件源和事件处理。事件源是产生事件的对象;事件处理负责处理事件;事件是在事件源和事件监听器间传递信息的桥梁。他们之间的关系是:当事件源产生事件时,通过调用监听器相应的办法进行事件处理。
对事件的处理是通过事件监听器实现的。首先需要在事件源中登记事件监听器。当有事件发生时,java虚拟机就生成一个事件对象,事件对象记录并处理该事件所需的各种信息。当事件源收到事件对象时,就会启动在该事件源中注册的事件监听器,并将相应事件对象传送到对应的事件监听器中进行事件的处理。每类时间都有相应的事件监听器,监听器是接口,根据动作来定义方法。监听器对象必须实现相应的监听器接口。下面是事件处理的简单应用:
/*
* 监听器
*/
package com.listener;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JButton;
import javax.swing.JFrame;
class ButtonActionListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("按钮被单击");
}
}
class ButtonMouseListener implements MouseListener{
@Override
public void mouseClicked(MouseEvent e) {
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
System.out.println("鼠标进去了");
}
@Override
public void mouseExited(MouseEvent e) {
System.out.println("鼠标出去了");
}
}
public class EventListenerDemo {
public static void main(String[] args) {
JFrame frame = new JFrame("事件监听器");
frame.setPreferredSize(new Dimension(400,300));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
JButton button = new JButton("单击我");
ButtonActionListener listener = new ButtonActionListener();
button.addActionListener(listener);
button.addMouseListener(new ButtonMouseListener());
frame.add(button);
frame.pack();
frame.setVisible(true);
}
}
对事件的处理是通过事件监听器实现的。首先需要在事件源中登记事件监听器。当有事件发生时,java虚拟机就生成一个事件对象,事件对象记录并处理该事件所需的各种信息。当事件源收到事件对象时,就会启动在该事件源中注册的事件监听器,并将相应事件对象传送到对应的事件监听器中进行事件的处理。每类时间都有相应的事件监听器,监听器是接口,根据动作来定义方法。监听器对象必须实现相应的监听器接口。下面是事件处理的简单应用:
/*
* 监听器
*/
package com.listener;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JButton;
import javax.swing.JFrame;
class ButtonActionListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("按钮被单击");
}
}
class ButtonMouseListener implements MouseListener{
@Override
public void mouseClicked(MouseEvent e) {
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
System.out.println("鼠标进去了");
}
@Override
public void mouseExited(MouseEvent e) {
System.out.println("鼠标出去了");
}
}
public class EventListenerDemo {
public static void main(String[] args) {
JFrame frame = new JFrame("事件监听器");
frame.setPreferredSize(new Dimension(400,300));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
JButton button = new JButton("单击我");
ButtonActionListener listener = new ButtonActionListener();
button.addActionListener(listener);
button.addMouseListener(new ButtonMouseListener());
frame.add(button);
frame.pack();
frame.setVisible(true);
}
}
相关文章推荐
- java事件处理
- Java Swing 中三种事件处理方法的比较
- 从零开始理解JAVA事件处理机制(3)
- Java Swing 中三种事件处理方法之比较
- 博为峰Java技术文章 ——JavaSE Swing列表框双击事件的处理Ⅱ
- Java中的事件处理,及事件传递方式(非常实用)(重要)
- java事件处理机制(自定义事件)【转】
- Java编程事件处理机制分析
- 【Java】常用控件和事件处理
- java事件处理机制(自定义事件)
- Java 图形界面编程 中三种事件处理方法之比较
- java的事件处理
- Java事件处理机制(自定义事件)
- [疯狂Java笔记]事件处理:事件类型、监听器接口、事件适配器
- Java Swing界面编程(21)---事件处理:窗体事件
- 【 java版坦克大战--事件处理】 坦克动起来了
- Java Swing中的键盘事件处理
- Java事件处理机制
- Java Swing界面编程(25)---事件处理:鼠标事件及监听处理
- java事件处理机制(自定义事件)