我在程序中给你做了一些注释希望你能从中得到一些启发
import java.awt.*;
import java.awt.event.*;
public class TestActionEvent {
    public static void main(String args[]) {
       Frame f = new Frame("Test");
       Button b = new Button("Press Me!");
           Monitor bh = new Monitor();//用导出接口的类创建新对象
               b.addActionListener(bh);//监视按钮b使用addActionListener方法,参数是刚才创建的对象
       f.add(b,BorderLayout.CENTER);
       f.pack();
       f.setVisible(true);
    }
}class Monitor implements ActionListener {
    public void actionPerformed(ActionEvent e) {//重写监控的方法
        System.out.println("a button has been pressed");    }
}
import java.awt.*;
import java.awt.event.*;
public class TestMultiListener implements MouseMotionListener,MouseListener {
  Frame f = new Frame("多重监听器测试");
  TextField tf = new TextField(30);
  public TestMultiListener(){
     f.add(new Label("请按下鼠标左键并拖动"), "North");
     f.add(tf, "South");
     f.setBackground(new Color(120,175,175));
     f.addMouseMotionListener(this);//监视鼠标拖动事件
     f.addMouseListener(this);//监视鼠标击键的事件
     f.setSize(300, 200);      f.setVisible(true);
  }//这是一个构造函数,完成窗体的创建和设置,并完成鼠标响应事件
  public static void main(String args[]) {   
TestMultiListener t = new TestMultiListener();实例化类
  }     //这是执行函数,在物理上真正实现执行         以下都是鼠标可能产生的事件,这种做法必须把所有事件都写出来
         程序中用this就是指鼠标事件发生在窗体内,也可以说鼠标事件发生的范围
         main函数虽然只是实例化了一个对象,但这个对象调用了它的构造函数,
         构造函数说明该做什么
         public void mouseDragged(MouseEvent e) {
     String s = "鼠标拖动到位置(" + e.getX() + "," + e.getY() + ")";
     tf.setText(s);
}
public void mouseEntered(MouseEvent e) {
     String s = "鼠标已进入窗体";
     tf.setText(s);
}
public void mouseExited(MouseEvent e) {
     String s = "鼠标已移出窗体";
     tf.setText(s);
}

public void mouseMoved(MouseEvent e) { }
public void mousePressed(MouseEvent e) { }
public void mouseClicked(MouseEvent e) { }
public void mouseReleased(MouseEvent e) { }
}
         程序中用this就是指鼠标事件发生在窗体内,也可以说鼠标事件发生的范围
         main函数虽然只是实例化了一个对象,但这个对象调用了它的构造函数,
         构造函数说明该做什么