直接上题
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class MyMouseAdapter{
  public static void main(String args[]) {
    new MyFrame("drawing...");
  }
}class MyFrame extends Frame {
  ArrayList points = null;
  MyFrame(String s) {
    super(s);
    points = new ArrayList(); 
    setLayout(null);
    setBounds(300,300,400,300); 
    this.setBackground(new Color(204,204,255));
    setVisible(true);
    this.addMouseListener(new Monitor());
}

public void paint(Graphics g) {
    Iterator i = points.iterator();
    while(i.hasNext()){
      Point p = (Point)i.next();
      g.setColor(Color.BLUE);
      g.fillOval(p.x,p.y,10,10);
    }
  }
  
  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();
  }
}我机器上说他有错误   错误处在倒数第四行   为什么 怎么改

解决方案 »

  1.   

    貌似没啥问题
    看下你的jdk版本
    或者直接上异常信息
      

  2.   

    package com.yan;import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    public class MyMouseAdapter{
    public static void main(String args[]) {
    new MyFrame("drawing...");
    }
    }@SuppressWarnings("serial")
    class MyFrame extends Frame {
    @SuppressWarnings("unchecked")
    ArrayList points = null;
    @SuppressWarnings("unchecked")
    MyFrame(String s) {
    super(s);
    points = new ArrayList();  
    setLayout(null);
    setBounds(300,300,400,300);  
    this.setBackground(new Color(204,204,255));
    setVisible(true);
    this.addMouseListener(new Monitor());
    } @SuppressWarnings("unchecked")
    public void paint(Graphics g) {
    Iterator i = points.iterator();
    while(i.hasNext()){
    Point p = (Point)i.next();
    g.setColor(Color.BLUE);
    g.fillOval(p.x,p.y,10,10);
    }
    } @SuppressWarnings("unchecked")
    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();
    }
    }在我机子上没问题,可以话出来一个框点击可以出来一些点啊~~(可惜不能把结果给你粘进来~)
      

  3.   

    不能粘贴照片   错误处在 f.addPoint(new Point(e.getX(),e.getY()));
    它说的是找不到符号
      

  4.   

    没错,捡分来了//frame中加入这个,就可以点X关闭了
            addWindowListener(new WindowAdapter() {
                public void windowClosing(WindowEvent e) {
                    System.exit(0);
                }
            });