Я пишу программу в Java, которая имеет графические объекты, которые пользователь может выбирать, а затем вращаться или растягиваться на основе движения мыши. Я близок к работе, но проблема, с которой я столкнулась, заключается в том, чтобы настроить способ правильной работы фигуры с движениями мыши.Обнаружение вертикального/горизонтального движения мыши с помощью java
У меня есть MouseListener создать что-то вроде этого:
private class MouseHandler extends MouseAdapter
{
public void mousePressed(MouseEvent e)
{
currentClickPoint = e.getPoint();
}
}
и MouseMotionListener создать что-то вроде этого:
private class MouseMotionHandler extends MouseMotionAdapter
{
public void mouseDragged(MouseEvent e)
{
objectRotateAngle = currentClickPoint.getY() - e.getY();
objectWidth += currentClickPoint.getX() - e.getX();
}
}
Это упрощенная версия, очевидно, но проблема в том, что Я хочу, чтобы ширина увеличивалась, когда мышь перемещалась вправо, и уменьшалась, когда мышь перемещается влево, а также угол поворота для увеличения/уменьшения на основе вертикального перемещения мыши. Прямо сейчас, ширина не начнет уменьшаться, пока вы не пройдете X-позицию текущегоClickPoint, идущую влево и наоборот. Проблема с поворотом на основе движения мыши Y заключается в том, что каждый раз, когда вы начинаете перемещать мышь до поворота, угол устанавливается на 0.
Программа должна легко реагировать на изменение направления без установки ширину или угол до нуля в начале настройки. У кого-нибудь есть лучший способ определить направление движения мыши для этой цели?
спасибо mproncace – Polaris
@Polaris Абсолютно. – caseif