画图
画笔Paint
- 画笔监听需要重写Frame的paint方法
- 画笔用完记得还原颜色
鼠标监听
- 鼠标监听重写子类方法:MouseAdapter
- Pressed按压
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.Iterator;
public class DrawDemo01 extends Frame {
public static void main(String[] args) {
new DrawDemo01();
}
private ArrayList<Point> points = new ArrayList<>();
private DrawDemo01(){
setVisible(true);
setBounds(100,100,600,600);
setResizable(false);
this.addMouseListener(new MouseListener());
}
private void addPoint(Point point){
points.add(point);
}
@Override
public void paint(Graphics g) {
g.setColor(new Color(0x8922D8));
Iterator<Point> iterator = points.iterator();
while (iterator.hasNext()){
Point next = iterator.next();
g.fillOval(next.x,next.y,10,10);
}
g.setColor(null);
}
class MouseListener extends MouseAdapter {
@Override
public void mousePressed(MouseEvent e) {
DrawDemo01 source = (DrawDemo01)e.getSource();
source.addPoint(new Point(e.getX(),e.getY()));
source.repaint();
}
}
}