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.
我不想把这个作成为内部类,下面应该怎么改啊~~~~~~
怎么样才不会出现这样的错误???
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.
我不想把这个作成为内部类,下面应该怎么改啊~~~~~~
怎么样才不会出现这样的错误???
MM类的构造函数是需要参数的~
public MM(MouseMotion MouMotion)
所以你要传一个参数就可以了
好象还是不行啊
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.
改为:
Fra.addMouseMotionListener(new MM(this));说句实话:楼主的命名真是不敢苟同,除了类名第一个大写外,其他不该什么都大写啊!
呵呵,个人意见...紧供参考..共同进步...
Fra.addMouseMotionListener(new MM(this));