相关疑难解决方法(0)

更改JPanel Graphics g颜色绘制线

我有一个类似于油漆的程序.并且我正在尝试实现更改笔颜色,但是当我更改颜色时,当前绘制的所有内容都更改为颜色RED,例如在我的程序中,如何使其不会重绘当前绘制到当前所有内容的所有内容改变颜色?下面的代码将编译并运行

JPanel绘图区域的类

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import javax.swing.BorderFactory;
import javax.swing.JPanel;
//refer to http://jkost.ergoway.gr/jnkjavaconnection/freedraw.html for the algorithm.
public class STDrawingArea extends JPanel {
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    ArrayList<Rectangle> dPoint = new ArrayList<Rectangle>();
    Point point = new Point(-1,-1);
    private Color currentColor;

    public STDrawingArea()
    {
         setBorder(BorderFactory.createLineBorder(Color.black));
         setBackground(Color.WHITE);

         addMouseMotionListener(new MouseAdapter() {
            public void mouseDragged(MouseEvent e) 
            {
                dPoint.add(new Rectangle(point.x,point.y,e.getX(),e.getY()));
                point.x = e.getX();
                point.y = e.getY();
                repaint();
            } …
Run Code Online (Sandbox Code Playgroud)

java swing drawing mouselistener

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

drawing ×1

java ×1

mouselistener ×1

swing ×1