私は、マウスを押し下げてズームアウトするイメージビューアを作成しました。マウスを下にドラッグすると、画像をドラッグできます。JavaFxはマウスの動きを検出します(画面の境界線に達した後)
public void dragOnMouseMove(MouseEvent event) {
if(zoomedIn) {
if(mouseStartX != null && mouseStartY != null) {
double x = this.getTranslateX() - (mouseStartX - event.getX());
double y = this.getTranslateY() - (mouseStartY - event.getY());
LOG.debug("moving picture to: " + x + "," + y);
this.setTranslateX(x);
this.setTranslateY(y);
}
mouseStartX = event.getX();
mouseStartY = event.getY();
}
}
これはドラッグイベントにバインドされています。 問題は、マウスが画面の境界に達すると、座標がそれ以上変化しないためドラッグが停止することです。 カーソル位置から独立してマウスの動きを検出する方法はありますか?
多分、低レベルのAPIマウスフックですか? – Antoniossss
何ですか?どうやって?あなたは "答え"をしようとしますか? – dermoritz
マウスが停止している間は、画面の境界にいることを検出し、一定の速度で動き続けます。その速度は以前の値で計算する必要がありますが、最初は一定の速度を定義できます。 – UmNyobe