JavaFX - раздувание GridPane до размера родителя

Я пытаюсь создать графический интерфейс для одной из моих программ. Я впервые использую JavaFX.

Для начала я хотел бы иметь GridPane, который занимает все окно.

Я пробовал все, что мог найти: setMinWidth/Height, setPrefSize, minWidth и т. д. Ничего не получилось.

Ниже приведена часть кода, определяющая GridPane с двумя объектами Text:

    //Grid layout
    GridPane grid = new GridPane();
    grid.setPrefSize(STAGE_WIDTH, STAGE_HEIGHT);
    grid.setMaxSize(Region.USE_COMPUTED_SIZE, Region.USE_COMPUTED_SIZE);
    grid.setMinSize(STAGE_WIDTH, STAGE_HEIGHT);

    //grid.minWidth(STAGE_WIDTH);
    //grid.minHeight(STAGE_HEIGHT);

    grid.setGridLinesVisible(true);
    grid.setAlignment(Pos.CENTER);
    grid.setHgap(10);
    grid.setVgap(10);
    grid.setPadding(new Insets(25, 25, 25, 25));

    //Text
    final Text count = new Text("Count");
    grid.add(count,0,0);

    final Text total = new Text("Total");
    grid.add(total,1,0);

    Scene scene = new Scene(grid, STAGE_WIDTH, STAGE_HEIGHT);
    primaryStage.setScene(scene);
    primaryStage.show();

Кто-нибудь знает, как успешно запрограммировать этот простой атрибут? GridPane, который занимает все окно? Что мне не хватает?

Спасибо ЛД


person LoneDuck    schedule 18.09.2014    source источник


Ответы (1)


Удалите все эти

grid.setPrefSize(STAGE_WIDTH, STAGE_HEIGHT);
grid.setMaxSize(Region.USE_COMPUTED_SIZE, Region.USE_COMPUTED_SIZE);
grid.setMinSize(STAGE_WIDTH, STAGE_HEIGHT);
grid.minWidth(STAGE_WIDTH);
grid.minHeight(STAGE_HEIGHT);

и используйте ColumnConstraints с опционально RowConstraints:

ColumnConstraints cc = new ColumnConstraints(100, 100, Double.MAX_VALUE, 
                                     Priority.ALWAYS, HPos.CENTER, true);
grid.getColumnConstraints().addAll(cc, cc);

RowConstraints rc = new RowConstraints(20, 20, Double.MAX_VALUE, 
                                     Priority.ALWAYS, VPos.CENTER, true);
grid.getRowConstraints().addAll(rc, rc);

Таким образом, вы получите больше контроля над каждой ячейкой, добавив для нее отдельные столбцы и ограничения строк. Пожалуйста, обратитесь к javadocs для получения более подробных объяснений.

person Uluk Biy    schedule 18.09.2014