Перетащите Rectangle с помощью метода mouseDragged для уже созданного Rect с помощью mousePressed - PullRequest
0 голосов
/ 07 ноября 2018

Я хотел бы перетащить созданный прямоугольник с помощью щелчка мыши на холст .. Но это продолжит создавать новый, а затем перетаскивать все вместе, как на картинке, которую я прикрепил. Есть идеи?

    public class ModelClass {
    public static Image mCanvas = null;

protected void initCanvas() {
        mCanvas = new BufferedImage(mWidth, mHeight, BufferedImage.TYPE_INT_RGB);
        }

        public void repaintRect(int _x, int _y) {
            if (mCanvas == null) {
                initCanvas();
            }

             graph = mCanvas.getGraphics();
             graph.setColor(Color.blue);
             graph.drawRect(_x, _y, 30, 30);
             update(mCanvas);

        }

------------------- Класс контроллера -------------------

@Override
        public void mousePressed(MouseEvent _event) {
mStartingPoint = _event.getPoint();
mModel.repaintRect((int)mStartingPoint.getX(), (int)mStartingPoint.getY());}

@Override
        public void mouseDragged(MouseEvent _event) {
            Point pt = _event.getPoint();
            mModel.repaintRect((int)pt.getX(), (int)pt.getY());

        }

Когда я пытаюсь перетащить созданный мной прямоугольник. Продолжайте рисовать и перетаскивать ...

enter image description here

...