1

JavaFX FXML アプリケーションを開発しています。実行時にコントローラー クラスからウィンドウのサイズを変更する必要があります。

ステージの maxHeight プロパティと maxWidth プロパティを設定することで、アプリケーション クラスからこれを実行できることがわかりました。しかし、アプリケーションの実行中にコントローラー クラスからそれを行うにはどうすればよいでしょうか。

4

1 に答える 1

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

stage はプライマリ (メイン) ステージです。

于 2012-11-12T11:16:37.657 に答える