2012-11-12 30 views
1

我正在开发一个JavaFX FXML应用程序。我需要在运行时从控制器类调整窗口大小。如何在运行时设置窗口大小?

我发现它可以通过设置舞台的maxHeight和maxWidth属性来从应用程序类执行此操作。但是如何在应用程序运行时从控制器类执行它?

回答

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); 
    } 
}); 

其中阶段是您的主要(主)设置阶段。

+0

啊是的。但是你提到的代码应该在应用程序类(具有开始和主函数的.java文件)中?但问题是我需要从控制器类设置大小。可能吗? – Nadeeja

+0

@Nadeeja更新。 –

+0

谢谢!像魅力一样工作。你让我的一天更美好:) – Nadeeja