Java事件处理一例(awt)
2006-07-28 19:21
441 查看
本文以最简单的按钮的鼠标事件为例说明Java事件处理(awt)的方法。
首先我们应该清楚:所有的事件都最终派生自 java.util.EventObject 类
而本文中的MouseEvent当然也是不例外。
另外 本文中的两个重要的接口 MouseListener,MouseMotionListener 非常重要,他们是事件的监听器,用来监听事件的触发并处理。一个监听器类可以实现多个接口,可以同时处理多个事件。
本文不会用文字太繁琐的介绍事件的处理原理,只给出一个简单的例子。我们可以通过一个简单的例子,认真地揣摩。必要的时候,可以到互联网上查阅相关资料。有的写得非常的详细,但是你必须有耐心看。
例子如下:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class event1{
public static void main(String[] args) {
JFrame f=new JFrame("测试一下 Event ");
Container c=f.getContentPane();
FlowLayout flo=new FlowLayout();
c.setLayout(flo);
JButton b1=new JButton("left");
JButton b2=new JButton("right");
c.add(b1);
c.add(b2);
//Add listeners
MouseListener l = new ExampleMouseListener();
MouseMotionListener m = new ExampleMouseListener();
b1.addMouseListener(l);
b2.addMouseListener(l);
b1.addMouseMotionListener(m);
b2.addMouseMotionListener(m);
f.pack();
f.setVisible(true);
}
}
//Mouse listener class
class ExampleMouseListener implements MouseListener,MouseMotionListener{
//MouseListener interface
public void mousePressed(MouseEvent evt){
System.out.println("Mouse pressed:" + evt);
}
public void mouseReleased(MouseEvent evt){
System.out.println("Mouse released: " + evt);
}
public void mouseClicked(MouseEvent evt){
System.out.println("Mouse clicked" + evt);
}
public void mouseEntered(MouseEvent evt){
System.out.println("Mouse entered" + evt);
}
public void mouseExited(MouseEvent evt){
System.out.println("Mouse exited" + evt);
}
public void mouseMoved(MouseEvent evt){
System.out.println("Mouse moved" + evt);
}
public void mouseDragged(MouseEvent evt){
System.out.println("Mouse dragged" + evt);
}
}
首先我们应该清楚:所有的事件都最终派生自 java.util.EventObject 类
而本文中的MouseEvent当然也是不例外。
另外 本文中的两个重要的接口 MouseListener,MouseMotionListener 非常重要,他们是事件的监听器,用来监听事件的触发并处理。一个监听器类可以实现多个接口,可以同时处理多个事件。
本文不会用文字太繁琐的介绍事件的处理原理,只给出一个简单的例子。我们可以通过一个简单的例子,认真地揣摩。必要的时候,可以到互联网上查阅相关资料。有的写得非常的详细,但是你必须有耐心看。
例子如下:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class event1{
public static void main(String[] args) {
JFrame f=new JFrame("测试一下 Event ");
Container c=f.getContentPane();
FlowLayout flo=new FlowLayout();
c.setLayout(flo);
JButton b1=new JButton("left");
JButton b2=new JButton("right");
c.add(b1);
c.add(b2);
//Add listeners
MouseListener l = new ExampleMouseListener();
MouseMotionListener m = new ExampleMouseListener();
b1.addMouseListener(l);
b2.addMouseListener(l);
b1.addMouseMotionListener(m);
b2.addMouseMotionListener(m);
f.pack();
f.setVisible(true);
}
}
//Mouse listener class
class ExampleMouseListener implements MouseListener,MouseMotionListener{
//MouseListener interface
public void mousePressed(MouseEvent evt){
System.out.println("Mouse pressed:" + evt);
}
public void mouseReleased(MouseEvent evt){
System.out.println("Mouse released: " + evt);
}
public void mouseClicked(MouseEvent evt){
System.out.println("Mouse clicked" + evt);
}
public void mouseEntered(MouseEvent evt){
System.out.println("Mouse entered" + evt);
}
public void mouseExited(MouseEvent evt){
System.out.println("Mouse exited" + evt);
}
public void mouseMoved(MouseEvent evt){
System.out.println("Mouse moved" + evt);
}
public void mouseDragged(MouseEvent evt){
System.out.println("Mouse dragged" + evt);
}
}
相关文章推荐
- core java 8~9(GUI & AWT事件处理机制)
- 疯狂JAVA讲义---第十一章(中):AWT编程-常用组件和事件处理
- java学习:AWT组件和事件处理的笔记(1)--文本框上的ActionEvent事件
- Java学习笔记(AWT 之 事件处理机制)
- core java 8~9(GUI & AWT事件处理机制)
- Java学习笔记--AWT事件处理
- [疯狂Java]AWT:菜单栏、菜单、菜单项、菜单事件处理
- JAVA AWT 事件处理及内部类的实现
- java AWT事件处理
- 黑马程序员--Java学习19--AWT组件及事件处理
- Java读书笔记12 事件处理基础 Observer设计模式
- Java事件处理
- java事件处理机制
- Java Swing 中三种事件处理方法之比较
- Java-事件处理机制
- 【Java基础之事件处理】代码库(四)
- 探讨与比较Java和.NET的事件处理框架-Java基础-Java-编程开发
- 第2周:Java事件处理
- 第2周:Java事件处理
- JAVA事件处理机制