学JAVA GUI以来用paint方法画东西还没画出来过,实在不懂怎么用这个,求求各位帮帮忙,看这段程序该怎么写,才能达到在Frame里面点下鼠标出现一个点。package GUI;
import java.awt.*;
import java.awt.event.*;
import java.util.*;public class MyMouseAdapter { public static void main(String[] args) {
new MyFrame("单击窗口显示点");
}

}
class MyFrame extends Frame{
ArrayList points=null;
public MyFrame(String s){
super(s);
points=new ArrayList();
setLayout(null);
setBounds(300,300,200,200);
setBackground(Color.CYAN);
setVisible(true);
addMouseListener(new Moniter3());
}
public void paint(Graphics g){
Iterator i=points.iterator();
while(i.hasNext()){
Paint p=(Paint)i.next();
g.setColor(Color.BLACK);
g.fillOval(需要您的补充);
}
}
public void addPoint(Point p){
points.add(p);
}
}
class Moniter3 extends MouseAdapter{
public void mousePressed(MouseEvent a){
MyFrame f=(MyFrame)a.getSource();
f.addPoint(new Point(a.getX(),a.getY()));
f.repaint();
}
}

解决方案 »

  1.   

    import java.awt.Color;
    import java.awt.Frame;
    import java.awt.Graphics;
    import java.awt.Point;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import java.util.ArrayList;
    import java.util.Iterator;public class DrawLine2 extends Frame {
    ArrayList points = null; public DrawLine2(String s) {
    super(s);
    points = new ArrayList();
    setLayout(null);
    setBounds(300, 300, 200, 200);
    setBackground(Color.CYAN);
    addMouseListener(new Moniter3());
    setVisible(true);
    } public void paint(Graphics g) {
    Iterator i = points.iterator();
    while (i.hasNext()) {
    Point p = (Point) i.next();
    g.setColor(Color.BLACK);
    g.fillOval(p.x, p.y, 1, 1);//左上角的坐标(x,y),园的宽、高
    }
    } public void addPoint(Point p) {
    points.add(p);
    } public static void main(String[] args) {
    DrawLine2 frame = new DrawLine2("单击窗口显示点");
    }
    }class Moniter3 extends MouseAdapter {
    public void mousePressed(MouseEvent a) {
    DrawLine2 f = (DrawLine2) a.getSource();
    f.addPoint(new Point(a.getX(), a.getY()));
    f.repaint();
    }
    }g.fillOval(p.x, p.y, 1, 1);//左上角的坐标(x,y),园的宽、高