JavaFX 2.0:当父元素执行时,Flowpane应自动调整大小

时间:2011-10-31 18:28:59

标签: layout resize autosize javafx-2

在JavaFX 1.x中,我使用FX-Script设置场景,我有了bind关键字:

Dynamic/instant resize in JavaFX

我怎样才能在2.0中拥有相同的行为?

3 个答案:

答案 0 :(得分:6)

我刚刚在另一个平台上找到答案:

就像

一样简单
FlowPane layout=new FlowPane();
layout.prefWidthProperty().bind(stage.widthProperty());
layout.prefHeightProperty().bind(stage.heightProperty());

答案 1 :(得分:6)

如果你想自动调整大小,你应该做这样的事情

private BorderPane root;

@Override
public void start(Stage stage) throws Exception
{
   root = new BorderPane();
    //ROOT SHOULD BE ONE OF THE LAYOUTS : BorderPane, HBox, VBox, StackPane,     
    //GridPane, FlowPane
    scene = new Scene(root, 500, 500);

    stage.setScene(scene);

    stage.show();
    root.setCenter(new Label("sample label"));
}

我只尝试过使用BorderPane,但它确实有效。此外,如果您想创建自定义 组件,您的类应该扩展其中一个布局。如果组件扩展窗格或组

,则自动调整大小将不起作用

我认为这会对你有所帮助。

祝你好运 桑德罗

答案 2 :(得分:0)

如果你的流动窗格有边距,你可能需要这样的东西:

  innerHorizontalFlowPane.prefWidthProperty().bind(
      Bindings.add(-50, stage.widthProperty()))