Этап Javafx не изменяет размер при добавлении компонентов

Итак, у меня есть это приложение, которое получает некоторые данные и показывает график!

Когда я запускаю свою программу, данные графика и линейная диаграмма не создаются, и поэтому моя программа выглядит так:

введите здесь описание изображения

затем, когда я нажимаю кнопку «Hent data», мой линейный график создается и добавляется в центр пограничной панели, благодаря чему графический интерфейс выглядит следующим образом: введите здесь описание изображения

Как видите, этап приложения не рассчитан на все компоненты.

Однако, если я запущу программу, создав случайный график (и не изменив размер), программа будет выглядеть так:

введите здесь описание изображения

во всех примерах код моей основной сцены выглядит так:

public void start(Stage primaryStage) throws Exception {
    this.primaryStage = primaryStage;
    bp = new BorderPane();
    bp.setTop(createTopPane());
    Group root = new Group();
    root.getChildren().add(bp);
    bp.setCenter(createCenter());
    AnchorPane leftPane = new AnchorPane();

    leftPane.setPrefWidth(20);
    Separator vSeparator = new Separator(Orientation.VERTICAL);
    bp.setRight(leftPane);
    Scene scene = new Scene(root);
    scene.getStylesheets().addAll("test.css", "calendarstyle.css");
    primaryStage.setScene(scene);
    primaryStage.setMinHeight(500);
    primaryStage.setMinWidth(527);
    primaryStage.show();
}

Как я могу убедиться, что размер сцены остается того размера, который должен быть, чтобы соответствовать графику, даже если график еще не создан?

Обратите внимание, что я уже пытался изменить размер основной сцены при нажатии кнопки, однако это не решило проблему.


person Marc Rasmussen    schedule 21.11.2012    source источник
comment
Кто-нибудь знает, как я могу получить предпочтительный размер даже после добавления компонентов?,   -  person Marc Rasmussen    schedule 23.11.2012


Ответы (1)


Используйте методы AnchorPane.setLeftAnchor(javaFxNode, 0.0); и AnchorPane.setRightAnchor(javaFxNode, 0.0);static. Значение 0 в обоих случаях должно «приклеивать» стороны диаграммы к ее контейнеру. Конечно, вы можете использовать setTopAnchor и setBottomAnchor для той же проблемы с высотой.

person T-and-M Mike    schedule 27.11.2012
comment
Спасибо за ваш ответ, я проверю и посмотрю, работает ли это, когда я вернусь на работу завтра - person Marc Rasmussen; 29.11.2012