JavaFX 2.0: Flowpane должен автоматически изменять размер, когда родительский элемент делает - PullRequest
2 голосов
/ 31 октября 2011

В JavaFX 1.x, где я использовал FX-Script для настройки сцены, у меня было ключевое слово bind:

Динамическое / мгновенное изменение размера в JavaFX

Как я могу вести себя так же в 2.0?

Ответы [ 3 ]

6 голосов
/ 20 ноября 2011

Если вы хотите автоматическое изменение размера, вы должны сделать что-то вроде этого

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, и он работает. Также, если вы хотите создать кастом Компонент, ваш класс должен расширять один из макетов. Автоматическое изменение размера не будет работать, если ваш компонент расширяет панель или группу

Я думаю, это поможет вам.

С наилучшими пожеланиями Сандро

6 голосов
/ 01 ноября 2011

Я только что нашел ответ на другой платформе:

Это так же просто, как

FlowPane layout=new FlowPane();
layout.prefWidthProperty().bind(stage.widthProperty());
layout.prefHeightProperty().bind(stage.heightProperty());
0 голосов
/ 17 августа 2016

Если ваша панель потока имеет поля, возможно, вам нужно что-то вроде этого:

  innerHorizontalFlowPane.prefWidthProperty().bind(
      Bindings.add(-50, stage.widthProperty()))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...