// 一个简单的鼠标在窗口画点程序 编译能过 就是运行错误 谁帮我看下好么?
import java.awt.*;
import java.awt.event.*;
import java.util.*;public class MyMouseAdapter{
public static void main(String[] agrs){
new MyFrame().Fun1();
}
}class MyFrame extends Frame{//创建一个窗口 并监听鼠标
ArrayList<Point> aa = null;
public void Fun1(){
setBackground(Color.blue);
setLayout(null);
setBounds(150, 150, 200, 200);
setVisible(true);
addMouseListener(new MyMouseListener());
} public void paint(Graphics e){//画出 aa中所有的点坐标的圆
Color a = e.getColor();
e.setColor(Color.red);
Iterator<Point> z = aa.iterator(); while(z.hasNext()){
Point s = z.next();
e.fillOval(s.x, s.y, 10, 10);
}
} public void addPoint(Point e){//将按下鼠标的位置(Point)加入到aa 中
aa.add(e);
}
class MyMouseListener extends MouseAdapter{//鼠标监听器类 按一下鼠标 在窗口内画个小圆
public void mousePressed(MouseEvent e) {
MyFrame bb = (MyFrame) e.getSource();
bb.addPoint(new Point(e.getX(), e.getY()));//记录坐标
bb.repaint();//重画
}
}
}

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【yangyongjie81】截止到2008-07-11 11:34:11的历史汇总数据(不包括此帖):
    发帖的总数量:18                       发帖的总分数:520                      每贴平均分数:28                       
    回帖的总数量:8                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:17                       结贴的总分数:470                      
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:1                        未结的总分数:50                       
    结贴的百分比:94.44 %               结分的百分比:90.38 %                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    值得尊敬
      

  2.   

    你的程序在建立界面的时候就需要使用paint方法,但是你的aa一开始是什么值都没有的,所以会报错。
      

  3.   

    ArrayList<Point> aa = new ArrayList<Point>();就改这句。