您的位置:首页 > 大数据 > 人工智能

Adapter and repaint

2016-09-04 15:14 302 查看
//Adapter and repaint
import 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()方法
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Adapter GUI JAVA