java画笔工具代码详解

本文介绍了一个使用Java AWT和Swing库实现的简单绘图应用程序,通过继承`Frame`并添加鼠标监听器,实现在鼠标点击时动态绘制黄色圆点。核心内容包括`MyMouseListener`中处理`mousePressed`事件并将坐标添加到`points`集合。
摘要由CSDN通过智能技术生成
package gui;

import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.Iterator;
//启动类
public class Demo01 {
    public static void main(String[] args) {
        new Test();
    }
}

class Test extends Frame {  
     //用来存放鼠标的坐标位置
    ArrayList points;
    public Test(){
    //设置窗口属性
        super("画笔");
        setBounds(500,200,600,600);
        setVisible(true);
        points = new ArrayList<>();
        //给窗口设置监听
        addMouseListener(new MyMouseListener());
    }

    @Override
    public void paint(Graphics g) {
    //迭代points集合
        Iterator iterator = points.iterator();
        while (iterator.hasNext()){
            Point point = (Point) iterator.next();
            //对每个坐标进行绘制
            g.setColor(Color.YELLOW);
            g.fillRect(point.x,point.y,10,10);
        }
    }
    //将监听得到的鼠标坐标添加进points集合
    public void addPaint(Point point){
        points.add(point);
    }



    private class MyMouseListener extends MouseAdapter{
        @Override
        //对鼠标点击事件进行重写
        public void mousePressed(MouseEvent e) {
        //获得鼠标的坐标资源并添加进集合
            Test frame = (Test) e.getSource();
            frame.addPaint(new Point(e.getX(),e.getY()));
            //对frame进行repain()操作
            frame.repaint();
        }
    }



}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值