与JavaFX一起使用MigLayout时,如何使舞台显示正确的大小

时间:2012-12-08 21:21:43

标签: javafx miglayout stage

我正在尝试让舞台显示大小自动调整为内容。

在Swing中我总是调用JFrame.pack(),无论LayoutManager如何,在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();

我无法发布图片,但第一次调用显示窗口太小,只有按钮顶部可见。第二个调用以正确的布局显示它。

第一次怎样才能让它显得正确?

1 个答案:

答案 0 :(得分:0)

这是MigPane中的一个错误。(see here)

它在miglayout-javafx-5.0-SNAPSHOT中修复(需要java8)。