Adapter and repaint

来源:互联网 发布:java乱码转换 编辑:程序博客网 时间:2024/05/14 10:07
//Adapter and repaintimport java.awt.*;import java.awt.event.*;import java.util.*;public class MyMouseAdapterGeneric{  public static void main(String args[]) {    new MyFrame99("drawing...");//新建Frame  }}class MyFrame99 extends Frame {  ArrayList<Point> points = null;//点 的数组  MyFrame99(String s) {    super(s);    points = new ArrayList<Point>();     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) {//PAINT()方法,repaint会调用update()再调用paint()    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){//add方法,朝数组里 添加圆    points.add(p);  }}class Monitor extends MouseAdapter {//Adapter 是适配器 实现Listener接口,4个空的实现方法,只写自己要重写的方法  public void mousePressed(MouseEvent e) {    MyFrame99 f = (MyFrame99)e.getSource();//得到触发事件的对象 ,强转    f.addPoint(new Point(e.getX(),e.getY()));//添加圆,调用add方法,参数 坐标    f.repaint();//调用repaint()方法  }}
0 0
原创粉丝点击