import java.awt.*;
import java.awt.event.*;
import java.util.*;
//import java.awt.Point;
public class A{
  public static void main(String args[]) {
    new MyFrame("drawing...");
  }
}
class MyFrame extends Frame {
  ArrayList points = null;
  MyFrame(String s) {
    super(s);
    points = new ArrayList<Point>(); 
    setLayout(null);
    setBounds(300,300,400,300); 
    this.setBackground(new Color(204,204,255));
    setVisible(true);
    this.addMouseListener(new MyMonitor());
}

public void paint(Graphics g) {
    Iterator i = points.iterator();
    while(i.hasNext()){
      Point p1 = (Point)i.next();
      g.setColor(Color.BLUE);
  
      g.drawRect(p1.x , p1.y, 10 , 10);
    }
  }
  public void addPoint(Point p){
    points.add(p);
  }
}
class MyMonitor extends MouseAdapter {
  public void mousePressed(MouseEvent e) {
    MyFrame f = (MyFrame)e.getSource();
System.out.println(e.getX());
System.out.println(e.getY());
f.addPoint(new Point(e.getX(), e.getY()));
f.repaint();
  }
}
---------------------------------------------------------
---------- javac ----------
A.java:28: x 可以在 Point 中访问 private
      g.drawRect(p1.x , p1.y, 10 , 10);
                   ^
A.java:28: y 可以在 Point 中访问 private
      g.drawRect(p1.x , p1.y, 10 , 10);
                          ^
A.java:40: 找不到符号
符号: 构造函数 Point(int,int)
位置: 类 Point
f.addPoint(new Point(e.getX(), e.getY()));
           ^
注意:A.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
3 错误输出完成 (耗时 7 秒) - 正常终止

解决方案 »

  1.   

    楼主你知道你的问题为什么很小有回答的吗,如果想搞java开发建议不要太用心学关于图形的东西,因为在以后的开发中基本不用这些,把东西放在这方面的人也少!同样的问题你可以留意一下,回答的人少之又少。供参考!
      

  2.   

    怎么会呢
    既然导入了import java.awt.*;
    肯定包含了import java.awt.Point;的我这边编译没有问题啊,应该是其他地方的问题。
      

  3.   

    API中查Point类并没有private的方法或变量
    很有可能程序找到了另一个名为Point的类 然后出现上边错误