灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2470回复:0

java例程练习(简单的画图程序[鼠标事件处理])

楼主#
更多 发布于:2012-09-08 09:44

//简单的画图程序
//注意repaint()方法的使用
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class TestMyMouseAdater {
    public static void main(String[] args) {
        new MyFrame("Drawing ......");
    }
}

class MyFrame extends Frame {
    ArrayList<Point> points = null;
    MyFrame(String s) {
        super(s);
        points = new ArrayList<Point>();
        setLayout(null);
        setBounds(300, 300, 400, 400);
        setBackground(new Color(204, 204, 255));
        setVisible(true);
        this.addMouseListener(new Monitor());
    }

    public void paint(Graphics g) {
        Iterator<Point> i = points.iterator();
        while(i.hasNext()) {
            Point p = 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();
    }
}





喜欢0 评分0
游客

返回顶部