匿名类,迭代器,WindowAdapter,Point,MouseAdapter,paint

来源:互联网 发布:淘宝直播添加到首页 编辑:程序博客网 时间:2024/04/30 01:41
import java.awt.*;import java.awt.event.*;import java.util.*;public class TestMyMouseAdapter {public static void main(String[] args) {new MyFrame("Drawing....");}}class MyFrame extends Frame{ArrayList points = null;MyFrame(String str){super(str);points = new ArrayList();super.setLayout(null);super.setBounds(200, 140, 640, 480);  this.setBackground(new Color(200, 220,110));super.setVisible(true);super.addMouseListener(new Monitor());this.addWindowListener(new WindowAdapter(){//匿名类public void windowClosing(WindowEvent e){setVisible(false);System.exit(-1);}});}public void paint(Graphics g){Iterator it = points.iterator();//Arraylist中的迭代器while(it.hasNext()){Point p = (Point)it.next();g.setColor(new Color(200,50,100));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 mf = (MyFrame)e.getSource();mf.addPoint(new Point(e.getX(), e.getY()));mf.repaint();}}

0 0