0
我正在寫在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();
}
}
這是一個簡化版本,很明顯,但問題是,我希望當鼠標向右移動時寬度增加,鼠標向左移動時減小寬度,以及基於垂直鼠標移動增加/減少旋轉角度。現在,寬度不會開始減小,直到您將currentClickPoint的X位置向左傳遞,反之亦然。基於鼠標Y移動的旋轉的問題在於,每當您開始向上移動鼠標以旋轉時,角度被設置回0.
程序需要響應方向的改變而無需設置調整開始時寬度或角度爲0。有沒有人有更好的方法來檢測鼠標移動的方向?
謝謝mproncace – Polaris
@Polaris絕對。 – caseif