一段Java图形编程的程序,有错不知道哪里有问题。 这段程序在Eclipse里有错误,addMouseListener下面有红线,报错了。
不知道哪里错了。
错误信息:
The method addMouseListener(MouseListener) in the type Component is not applicable for the arguments (Monitor1)
class MyFrame extends Frame{
ArrayList<Point> points = null;
MyFrame(String s){
super(s);
points = new ArrayList<Point>();
setLayout(null);
setBounds(200,200,400,400);
this.setBackground(Color.darkGray);
setVisible(true);
this.addMouseListener(new Monitor()); 就是这里的addMouseListener下面有红线报错
}
public void paint(Graphics g){
Iterator <Point>i = points.iterator();
while(i.hasNext()){
Point p = (Point)i.next();
g.setColor(Color.cyan);
g.fillOval(p.x, p.y, 20, 20);
}
}
public void addPoint(Point p){
points.add(p);
}
}
class Monitor extends MouseAdapter{
public void mousePressed(MouseEvent e){
MyFrame f = (MyFrame)e.getSource();
f.addPoint(new Point(e.getX(),e.getY()));
f.repaint();
}
} ------最佳解决方案--------------------
为什么总喜欢使用和jre提供的类同名的类名。
------其他解决方案-------------------- 我copy 你的代码到eclipse没有错哈····是不是这里的代码不全哈,你的main方法呢? ------其他解决方案-------------------- Monitor 这个类是JVAVA的内置类,你换个类名把。
javax.management.monitor
类 Monitor
java.lang.Object
javax.management.NotificationBroadcasterSupport
javax.management.monitor.Monitor ------其他解决方案-------------------- class Monitor extends MouseAdapter{
public void mousePressed(MouseEvent e){
MyFrame f = (MyFrame)e.getSource();
f.addPoint(new Point(e.getX(),e.getY()));
f.repaint();