无边框拖拽窗口
public double xOffset = 0;
public double yOffset = 0;
// 设置无边框
primaryStage.initStyle(StageStyle.UNDECORATED);
// 两个监听事件
root.setOnMousePressed(event -> {
xOffset = event.getSceneX();
yOffset = event.getSceneY();
});
root.setOnMouseDragged(event -> {
primaryStage.setX(event.getScreenX() - xOffset);
primaryStage.setY(event.getScreenY() - yOffset);
});
窗口最小化
获取到当前的stage,可以通过Stage stage = (Stage) cancel.getScene().getWindow();
来获取当前stage,cancel是某个组件
@FXML
public void smallWindow(){
STAGE.setIconified(true);
}