GUI-画笔画点
package com.zuoyan.lesson02;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.ArrayList;
import java.util.Iterator;
public class FirstMouseListener {
public static void main(String[] args) {
new MyMouseListener("画笔");
}
}
class MyMouseListener extends Frame{
ArrayList points;
public MyMouseListener(String title) {
super(title);
setBounds(700, 300, 700, 400);
points = new ArrayList();
this.addMouseListener(new MyListener());
setVisible(true);
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
@Override
public void paint(Graphics g) {
Iterator iterator = points.iterator();
while (iterator.hasNext()) {
Point point = (Point) iterator.next();
g.setColor(Color.MAGENTA);
g.fillOval(point.x, point.y, 10, 10);
}
}
public void addPoint(Point point) {
points.add(point);
}
private class MyListener extends MouseAdapter {
@Override
public void mousePressed(MouseEvent e) {
MyMouseListener myMouseListener = (MyMouseListener) e.getSource();
myMouseListener.addPoint(new Point(e.getX(), e.getY()));
myMouseListener.repaint();
}
}
}