Как установить ширину AnchorPane для изменения размера с родителем JFXDialogLayout - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь изменить размер AnchorPane с помощью родительского JFXDialoglayout.Я попробовал это в построителе сцен, но не позволил мне правильно расположить / изменить размер.Теперь я пытаюсь сделать это вручную вместо этого, как показано ниже.Как видно из кода, я пытался привязать ширину и высоту AnchorPane к JFXDialoglayout, но это все равно не сработало.Я также попытался установить одинаковую высоту / ширину префа, но ничего не вышло.Проблема в том, что высота AnchorPane меньше, чем JFXDialogLayout, но ширина такая же.Как мне сделать высоту равной?

private JFXDialogLayout getDialogLayout() {
    JFXDialogLayout layout = new JFXDialogLayout();
    layout.setPrefWidth(600);
    layout.setPrefHeight(300);
    AnchorPane pane = new AnchorPane();
    pane.prefHeightProperty().bind(layout.prefHeightProperty());
    pane.prefWidthProperty().bind(layout.prefWidthProperty());
    Label heading = new Label("Heading");
    Text body = new Text("This is the body of the dialog.");
    JFXButton button = new JFXButton("ACCEPT");

    pane.getChildren().addAll(heading, body, button);
    layout.getChildren().addAll(pane);
    return layout;
}

1 Ответ

0 голосов
/ 20 марта 2019

Я создавал приложения JavaFX с использованием SceneBuilder и Netbeans уже довольно давно.То, что вы пытаетесь сделать, можно легко сделать на вкладке «Макет» и более конкретно на вкладке «Ограничения панели привязки».Внутри четырех ящиков вы должны поместить стандартное расстояние, которое вам нравится, между сторонами Hbox и внешними сторонами Anchor Pane.Пожалуйста, проверьте скриншот ниже, с моим примером для горизонтальной рамки внутри Anchor Pane.HBox становится меньше или больше, когда пользователь изменяет размер области привязки.

SceneBuilder screenshot

...