0

Netbeans で JavaFX 2 を使用しています。フレームのサイズが変更されたときに要素の幅と高さを調整するにはどうすればよいですか? これが私のレイアウトです:

Stage stage = new Stage();
stage.setTitle("Hello World");
final Group root = new Group();
Scene scene = new Scene(root);

BorderPane border = new BorderPane();
border.setPrefWidth(stage.getWidth());
border.setPrefHeight(stage.getHeight());

HBox outerHBox = new HBox();
border.setCenter(outerHBox);
root.getChildren().add(border);
stage.setScene(scene);

さらに調査した結果、 http://java.dzone.com/articles/setting-stage-javafx-sdkの 前にこれが行われた場所を見つけましたが、古い FX にあります (JavaFX 2 とは大きく異なります)。訳せなくて困っています。バインディングを使用する必要があるように見えますか?これまでバインディングを使用したことがなく、FX もほとんど使用したことがありません。

これを達成する最良の方法は何ですか?

4

1 に答える 1

1

すべてのNodeクラスでサイズ変更が有効になるわけではありません。Groupクラスはこれらの 1 つです。これは、オブジェクトで isResizable() を呼び出すときに理解できrootます。代わりに、RegionegのサブクラスをBorderPaneとして使用してくださいroot

Stage stage = new Stage();
stage.setTitle("Hello World");

final BorderPane border = new BorderPane();
Scene scene = new Scene(border);

Button button = new Button("test");

HBox outerHBox = new HBox();
outerHBox.getChildren().add(button);
outerHBox.setAlignment(Pos.CENTER);

border.setCenter(outerHBox);

stage.setScene(scene);

あなたの例は今すぐうまくいくはずです。

于 2011-07-31T15:09:17.877 に答える