现在的位置: 首页 > 综合 > 正文

Java事件处理一例(awt)

2013年01月12日 ⁄ 综合 ⁄ 共 1742字 ⁄ 字号 评论关闭

本文以最简单的按钮的鼠标事件为例说明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); 
    }
   }

【上篇】
【下篇】

抱歉!评论已关闭.