我正在开发一个 JavaFX FXML 应用程序。我需要在运行时从控制器类调整窗口大小。
我发现可以通过设置舞台的 maxHeight 和 maxWidth 属性从应用程序类中执行此操作。但是如何在应用程序运行时从控制器类中做到这一点?
在控制器类中定义一个按钮并设置它的动作
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);
}
});
其中 stage 是您的主要(主要)阶段。