Java学习-GUI编程-鼠标监听、模拟画图工具
public class TestMouseListener {
public static void main(String[] args) {
new MyFrame("画图");
}
}
class MyFrame extends Frame{
ArrayList points;
public MyFrame(String title){
super(title);
setBounds(200,200,400,400);
this.addMouseListener(new MyMouseListener());
points = new ArrayList<>();
setVisible(true);
}
@Override
public void paint(Graphics g){
Iterator iterator = points.iterator();
while(iterator.hasNext()){
Point point = (Point)iterator.next();
g.setColor(Color.blue);
g.fillOval(point.x,point.y,10,10);
}
}
public void addPoint(Point point){
points.add(point);
}
private class MyMouseListener extends MouseAdapter{
@Override
public void mousePressed(MouseEvent e) {
MyFrame myFrame = (MyFrame) e.getSource();
myFrame.addPoint(new Point(e.getX(),e.getY()));
myFrame.repaint();
}
}
}
点击会绘制蓝色的点,但不能绘制连续的线。