我正在开发一个JavaFX FXML应用程序。我需要在运行时从控制器类调整窗口大小。
我发现可以通过设置舞台的maxHeight和maxWidth属性从应用程序类中执行此操作。但是在应用程序运行时如何从控制器类中完成它?
答案 0 :(得分:4)
在控制器类中定义一个按钮,并设置其操作,如
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow();
// OR, if you define btn as @FXML private Button btn.
Stage stage = (Stage) btn.getScene().getWindow();
// these two of them return the same stage
stage.setWidth(new_val);
stage.setHeight(new_val);
}
});
舞台是你的主要(主要)舞台。