新手请问大家一个图形程序。。。

fireonice7 2009-10-23 09:42:22
//在Frame中用鼠标点击画出点。

import java.awt.*;
import java.awt.event.*;
import java.util.*;


public class MouseAdapter {
public static void main(String[] args)
{
new MyFrame("drawing points");}
}

class MyFrame extends Frame{
ArrayList <Point>points=null;//ArrayList(int initialCapacity) 构造一个具有指定初始容量的空列表
MyFrame(String s)
{super(s);
points=new ArrayList();
setLayout(null);
this.setBackground(new Color(200,200,200));
this.setVisible(true);
this.addMouseListener((MouseListener) new Monitor());
}



public void paint(Graphics g)
{Iterator <Point>l=points.iterator();
while(l.hasNext())
{Point p = (Point)l.next();
g.setColor(Color.blue);
g.fillOval(p.x, p.y, 10,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();}
}
能运行,但点击时并没有出现点。请大家赐教!
...全文
86 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xucan2087 2009-10-23
  • 打赏
  • 举报
回复
学习了
swandragon 2009-10-23
  • 打赏
  • 举报
回复


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 MouseTest {
public static void main(String[] args){
new MyFrame("drawing points");
}
}

class MyFrame extends Frame{
ArrayList<Point> points = null;// ArrayList(int initialCapacity) 构造一个具有指定初始容量的空列表
MyFrame(String s){
super(s);
points = new ArrayList();
setLayout(null);
this.setBackground(new Color(200,200,200));
this.addMouseListener(new Monitor());
this.setBounds(300,300,400,300);
this.setVisible(true);
}

public void paint(Graphics g){
Iterator<Point> l = points.iterator();
while(l.hasNext()){
Point p = (Point) l.next();
g.setColor(Color.blue);
g.fillOval(p.x,p.y,10,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();
}
}

lz12366007 2009-10-23
  • 打赏
  • 举报
回复
记得有人发过!!和1#的一样!!我就不发了

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧