0

图片: http: //gyazo.com/e3bd39a4a967f4cd331f731fd6920702

图片上的红叉代表鼠标位置。

当我拖动我的盒子时,它会一直抓住左上角的盒子。如何更改这段代码,使其从鼠标开始抓取盒子的位置抓取盒子。

这是我的代码:(GraphicsAlignment.settings = 盒子的点)(可抓取区域的大小 200x20)

        if (Mouse.isDragging) {
        Point pressed = Mouse.pressed;
        if ((pressed.x > GraphicsAlignment.settings.x && pressed.x < GraphicsAlignment.settings.x + 200
                && pressed.y > GraphicsAlignment.settings.y && pressed.y < GraphicsAlignment.settings.y + 20)
                || isEnabled) {
            GraphicsAlignment.settings.x = Mouse.dragged.x;
            GraphicsAlignment.settings.y = Mouse.dragged.y;
            Boot.getDisplayApplet().setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
            isEnabled = true;
        } else {
            Boot.getDisplayApplet().setCursor(Cursor.getDefaultCursor());
        }
    } else {
        isEnabled = false;
        Boot.getDisplayApplet().setCursor(Cursor.getDefaultCursor());
    }
4

1 回答 1

0

(Mouse) 是什么类,(Mouse.Pressed) 的值是什么?您应该通过添加侦听器来获取当前的鼠标 x 和鼠标 Y http://javalessons.com/cgi-bin/fun/java-programming.cgi?1cd=mev&sid=ao789&j2ee=jsp

然后可以得到XY

于 2013-11-03T16:40:23.577 回答