import java.awt.*;
import java.awt.event.*;
public class MouseMotion 
{
    int get_x,get_y;
    Label t1;
String getLocation=new String();
public  void display()
{
Frame Fra=new Frame("Mouse Motion");//有2个构造函数
Fra.setSize(280,150);
Fra.setBackground(Color.lightGray);
Fra.setLocation(500,500);
    Fra.setLayout(new FlowLayout());
    t1=new Label ("            ");//3个构造函数
Fra.add(t1);
Fra.setVisible(true);
Fra.addMouseMotionListener(new MM());
Fra.addWindowListener(new WinClose1());
}
public static void main(String[]args)
{
(new MouseMotion()).display(); 
}

}
class WinClose1 extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}class MM extends MouseMotionAdapter
{
MouseMotion My_MouseMotion;
public MM(MouseMotion MouMotion)
{
My_MouseMotion=MouMotion;
}
public void mouseMoved(MouseEvent e)
{
My_MouseMotion.get_x=e.getX();
My_MouseMotion.get_y=e.getY();
        My_MouseMotion.getLocation="  "+My_MouseMotion.get_x+"  "+My_MouseMotion.get_y;
My_MouseMotion.t1.setText(My_MouseMotion.getLocation);
}
}

错误是:F:\JAVA\MouseMotion.java:18: 找不到符号
符号: 构造函数 MM()
位置: 类 MM
                Fra.addMouseMotionListener(new MM());
                                           ^
1 错误Process completed.
我不想把这个作成为内部类,下面应该怎么改啊~~~~~~
怎么样才不会出现这样的错误???

解决方案 »

  1.   

    楼主~看看你的Fra.addMouseMotionListener(new MM());
    MM类的构造函数是需要参数的~
    public MM(MouseMotion MouMotion)
    所以你要传一个参数就可以了
      

  2.   

    Fra.addMouseMotionListener(new MM(MouseMotion MouMotion2);
    好象还是不行啊
    F:\JAVA\MouseMotion.java:18: 需要 ')'
                    Fra.addMouseMotionListener(new MM(MouseMotion MouMotion));
                                                                  ^
    F:\JAVA\MouseMotion.java:18: 需要 ')'
                    Fra.addMouseMotionListener(new MM(MouseMotion MouMotion));
                                                                             ^
    2 错误Process completed.
      

  3.   

    Fra.addMouseMotionListener(new MM());
    改为:
    Fra.addMouseMotionListener(new MM(this));说句实话:楼主的命名真是不敢苟同,除了类名第一个大写外,其他不该什么都大写啊!
    呵呵,个人意见...紧供参考..共同进步...
      

  4.   

    为什么要这样做啊??
    Fra.addMouseMotionListener(new MM(this));