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();
}
}
}
java画笔工具代码详解
最新推荐文章于 2023-08-21 23:10:34 发布
本文介绍了一个使用Java AWT和Swing库实现的简单绘图应用程序,通过继承`Frame`并添加鼠标监听器,实现在鼠标点击时动态绘制黄色圆点。核心内容包括`MyMouseListener`中处理`mousePressed`事件并将坐标添加到`points`集合。
摘要由CSDN通过智能技术生成