可以implements两种啊,
但一般是把要实现的监听对象作成两个类,
在去引用它

解决方案 »

  1.   

    import java.awt.event.*;
    import java.util.*;public class myKeyMouse implements KeyListener, MouseListener{  private transient Vector keyListeners;
      private transient Vector mouseListeners;  public synchronized void removeKeyListener(KeyListener l) {
        if (keyListeners != null && keyListeners.contains(l)) {
          Vector v = (Vector) keyListeners.clone();
          v.removeElement(l);
          keyListeners = v;
        }
      }
      public synchronized void addKeyListener(KeyListener l) {
        Vector v = keyListeners == null ? new Vector(2) : (Vector) keyListeners.clone();
        if (!v.contains(l)) {
          v.addElement(l);
          keyListeners = v;
        }
      }
      protected void fireKeyTyped(KeyEvent e) {
        if (keyListeners != null) {
          Vector listeners = keyListeners;
          int count = listeners.size();
          for (int i = 0; i < count; i++) {
            ((KeyListener) listeners.elementAt(i)).keyTyped(e);
          }
        }
      }
      protected void fireKeyPressed(KeyEvent e) {
        if (keyListeners != null) {
          Vector listeners = keyListeners;
          int count = listeners.size();
          for (int i = 0; i < count; i++) {
            ((KeyListener) listeners.elementAt(i)).keyPressed(e);
          }
        }
      }
      protected void fireKeyReleased(KeyEvent e) {
        if (keyListeners != null) {
          Vector listeners = keyListeners;
          int count = listeners.size();
          for (int i = 0; i < count; i++) {
            ((KeyListener) listeners.elementAt(i)).keyReleased(e);
          }
        }
      }
      public void keyTyped(KeyEvent e) {
      }
      public void keyPressed(KeyEvent e) {
      }
      public void keyReleased(KeyEvent e) {
      }
      public synchronized void removeMouseListener(MouseListener l) {
        if (mouseListeners != null && mouseListeners.contains(l)) {
          Vector v = (Vector) mouseListeners.clone();
          v.removeElement(l);
          mouseListeners = v;
        }
      }
      public synchronized void addMouseListener(MouseListener l) {
        Vector v = mouseListeners == null ? new Vector(2) : (Vector) mouseListeners.clone();
        if (!v.contains(l)) {
          v.addElement(l);
          mouseListeners = v;
        }
      }
      protected void fireMouseClicked(MouseEvent e) {
        if (mouseListeners != null) {
          Vector listeners = mouseListeners;
          int count = listeners.size();
          for (int i = 0; i < count; i++) {
            ((MouseListener) listeners.elementAt(i)).mouseClicked(e);
          }
        }
      }
      protected void fireMousePressed(MouseEvent e) {
        if (mouseListeners != null) {
          Vector listeners = mouseListeners;
          int count = listeners.size();
          for (int i = 0; i < count; i++) {
            ((MouseListener) listeners.elementAt(i)).mousePressed(e);
          }
        }
      }
      protected void fireMouseReleased(MouseEvent e) {
        if (mouseListeners != null) {
          Vector listeners = mouseListeners;
          int count = listeners.size();
          for (int i = 0; i < count; i++) {
            ((MouseListener) listeners.elementAt(i)).mouseReleased(e);
          }
        }
      }
      protected void fireMouseEntered(MouseEvent e) {
        if (mouseListeners != null) {
          Vector listeners = mouseListeners;
          int count = listeners.size();
          for (int i = 0; i < count; i++) {
            ((MouseListener) listeners.elementAt(i)).mouseEntered(e);
          }
        }
      }
      protected void fireMouseExited(MouseEvent e) {
        if (mouseListeners != null) {
          Vector listeners = mouseListeners;
          int count = listeners.size();
          for (int i = 0; i < count; i++) {
            ((MouseListener) listeners.elementAt(i)).mouseExited(e);
          }
        }
      }
      public void mouseClicked(MouseEvent e) {
      }
      public void mousePressed(MouseEvent e) {
      }
      public void mouseReleased(MouseEvent e) {
      }
      public void mouseEntered(MouseEvent e) {
      }
      public void mouseExited(MouseEvent e) {
      }
    }
      

  2.   

    你如果只想用一个接口,你可以写一个接口继承上面所提到的两个接口就行了。然后在构造类时implements这个接口啊。不过我想不出来会有只能扩展一个接口的理由来。
      

  3.   

    根据Java的语法,接口是Java实现多重继承的唯一方法,实现两个接口是不矛盾的!
      

  4.   

    不好意思,我是Java新手,一开始程序写错了,现在
    好了。我可怜的一百分,就这样丢了。:-(
    美人25,没意见吧?