Я пытаюсь использовать перетаскивание своей сцены через перетаскивание определенного компонента в моем приложении.Это прекрасно работает так:
miniTop.setOnMousePressed(e-> {
xOffset = e.getSceneX();
yOffset = e.getSceneY();
});
miniTop.setOnMouseDragged(e -> {
stage = (Stage) ((Node)e.getSource()).getScene().getWindow();
stage.setX(e.getScreenX() - xOffset);
stage.setY(e.getScreenY() - yOffset);
});
Но когда я делаю это ... nononon
@FXML
public void getOffset(MouseEvent e) {
xOffset = e.getSceneX();
yOffset = e.getSceneY();
}
@FXML
public void dragStage(MouseEvent e) {
stage = (Stage) ((Node)e.getSource()).getScene().getWindow();
stage.setX(e.getScreenX() - xOffset);
stage.setY(e.getScreenY() - yOffset);
}
, где эти обработчики событий связаны с:
Я пытался заключить метод dragStage
в Platform.runLater()
, так как он изменяет интерфейс, перемещая сцену, но это не помогло ...
В чем разница между .setOnMouseи обработчики событий Scene Builder?
РЕДАКТИРОВАТЬ: он начал работать после его запуска через 30 минут?что?(Так трудно учиться, когда ты думаешь, что совершил ошибку, когда у тебя нет хаха)