我一直在尝试移动一个未装饰的窗口,使用以下鼠标事件监听器:
- onPressed (按下)
- onReleased (释放)
- onDragged(拖动)
这些事件是针对一个矩形的。我的想法是通过点击矩形并拖动整个窗口来移动未装饰的窗口。
@FXML protected void onRectanglePressed(MouseEvent event) { X = primaryStage.getX() - event.getScreenX(); Y = primaryStage.getY() - event.getScreenY(); }
@FXML protected void onRectangleReleased(MouseEvent event) { primaryStage.setX(event.getScreenX()); primaryStage.setY(event.getScreenY()); }
@FXML protected void onRectangleDragged(MouseEvent event) { primaryStage.setX(event.getScreenX() + X); primaryStage.setY(event.getScreenY() + Y); }
使用这些事件,我只能够在按下矩形并开始拖动窗口时稍微移动窗口。但是,在我释放按钮时,窗口会移动到矩形所在的位置。
提前感谢。