jdk 1.4.0-b92 下没有问题。package csdn.zte.vc.ws;import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import java.util.*;
import java.sql.*;public class MyClass11 extends JFrame implements ActionListener {
   private Container container = null;
   private Button button1 = null;
   private Button button2 = null;
   private JButton button3 = null;
   private JButton button4 = null;   public static void main(String args[]) {
      MyClass11 test = new MyClass11();
      test.show();
   }
   public MyClass11() {
      super();      container = this.getContentPane();      button1 = new Button("1");
      button1.addActionListener(this);
      button2 = new Button("2");
      button2.addActionListener(this);
      button3 = new JButton("3");
      button3.addActionListener(this);
      button4 = new JButton("4");
      button4.addActionListener(this);
      container.add(button1, BorderLayout.NORTH);
      container.add(button2, BorderLayout.SOUTH);
      container.add(button3, BorderLayout.WEST );
      container.add(button4, BorderLayout.EAST );      this.setBounds(0, 0, 400, 300);
} public void actionPerformed(ActionEvent ae) {
      Object source = ae.getSource();      if (source == button1) {
         System.out.println("button 1 clicked");
         button1.dispatchEvent(new ActionEvent(button2, ae.getID(), ae.getActionCommand()));
         // button1.dispatchEvent(ae);
      }
      if (source == button2) {
         System.out.println("button 2 clicked");
      }
      if (source == button3) {
         System.out.println("button 3 clicked");
         button1.dispatchEvent(new ActionEvent(button4, ae.getID(), ae.getActionCommand()));
         // button1.dispatchEvent(ae);
      }
      if (source == button4) {
         System.out.println("button 4 clicked");
      }
   }
}