3

コンテンツに合わせて自動調整されたサイズでステージを表示しようとしています。

Swing では、LayoutManager に関係なく、常に JFrame.pack() を呼び出します。swt では、Window.open() を呼び出すと自動的に行われます。

JavaFX では、HBox のようなものを使用すると、これも自動的に発生するようです。

Stage s = new Stage();
HBox p = new HBox(5);
for (int i=0;i<3;i++)
    p.getChildren().add(new Button("Hello"));
s.setScene(new Scene(p));
s.showAndWait()

ただし、MigPane を使用する場合、元のレイアウトは正しくありません。

Stage s = new Stage();
MigPane p = new MigPane();
for (int i=0;i<3;i++)
    p.add(new Button("Hello"));
s.setScene(new Scene(p));
s.showAndWait();
s.showAndWait();

画像を投稿できませんが、最初の呼び出しでウィンドウが小さすぎて、ボタンの上部しか表示されません。2 番目の呼び出しでは、正しいレイアウトで表示されます。

初めて正しく表示するにはどうすればよいですか?

4

1 に答える 1

0

MigPane のバグです。(こちらをご覧ください)

これは miglayout-javafx-5.0-SNAPSHOT で修正されています (java8 が必要です)。

于 2014-06-13T23:41:58.280 に答える