改成 addMouseListener(new mouselistener1());试试看。

解决方案 »

  1.   

    mouselistener1 实现MouseListener接口,所以必须实现MouseListner接口中的
    定义的函数体,但这些函数体比如mouseClicked并不是mouselistener1的成员函数,
    所以不能用this.addMouseListener
      

  2.   

    lcfzgb (小熊) 同志你好:
    在java中处理鼠标事件的有两个接口:
     (1)MouseMotionListener接口:在这个接口中有两个方法:
       mouseDragged(MouseEvent e) 
       mouseMoved(MouseEvent e) 
     (2)MouseListener 接口:在这个接口中有两个方法:
        mouseClicked(MouseEvent e) 
        mouseEntered(MouseEvent e) 
        mouseExited(MouseEvent e) 
        mousePressed(MouseEvent e) 
        mouseReleased(MouseEvent e) 
    如果你实现鼠标在Applet的移动应该实现MouseMotionListenermouseMoved(MouseEvent e) 方法的如果实现悬停(存在)事件应该实现MouseListener的mouseExited(MouseEvent e) 方法:
       但是如果你要实现这两个接口,那么你就必须实现接口中的所用方法,这时是有方便方法的用适配器类:对应两个接口的适配器类为:MouseMotionAdapter, MouseAdapter ,如果你用适配器类,就可以实现你想要的方法就可以.
    但是你用适配器类,在java中,不支持多继承.
    如果让我实现你的程序,我的程序框架是这样的:
    import java.awt.*;
    import java.applet;public myapplet extends applet implement MouseLister,MouseMotionLister
    {
    public void init() 
      { 
        addMouseListerner(this);
        addMouseMotionListern(this); 
     }
    public void mouseDragged(MouseEvent e)
    {}
     public void mouseMoved(MouseEvent e) 
    {你的代码>>>>>>>>}
    public void mouseClicked(MouseEvent e) 
    {}
    public void mouseEntered(MouseEvent e) 
    {}
    public void mouseExited(MouseEvent e) 
    {你的代码>>>>>>>>}
    public void mousePressed(MouseEvent e)
    {]
    public void mouseReleased(MouseEvent e) 
    {}
    }
     注意以上方法一个也不能少!!!!!         
      

  3.   

    lwg2019,,你好,,
    你的回复看过了,,感谢
    还想问一下,如果按照你的思路
    那么,这些方法放在哪里之行啊?
    直接像这样调用吗?
    public void paint(Graphics g){mouseExited()}
    还是怎么做?
    我是新手,请不吝赐教