Как исправить метки на стеке GridPane по индексу (0,0)? Кажется, игнорирует мой вклад в функцию - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь сделать простой экран входа в javafx, используя макет GridPane. Проблема в том, что все метки, которые я наложил на сетку, идут в положение (0,0), по-видимому, игнорируя мои значения для индексов столбцов и строк.

Я пытался поместить экстремальные значения для индексов в оба вызова функций, и ничего не двигалось. Кажется, он игнорирует любые индексы, которые я ему даю, и по умолчанию (0,0).

Настройка GridPane:

GridPane grid = new GridPane();
grid.setPadding(new Insets(10, 10, 10, 10));
grid.setVgap(10);
grid.setHgap(10);

Функция вызывает метки:

// Name label
    Label nameLabel = new Label("Username:");
    GridPane.setConstraints(grid, 0, 0);     

// Password label
   Label passLabel = new Label("Password:");
   GridPane.setConstraints(grid, 0, 1);      

Добавление GridPane к сцене:

grid.getChildren().addAll(nameLabel, nameInput, passLabel, passInput, loginButton);
Scene scene = new Scene(grid, 300, 200);

1 Ответ

3 голосов
/ 21 октября 2019

Вы используете GridPane.setConstraints(); неправильно. Вместо того, чтобы устанавливать ограничения на grid, вы должны установить ограничения на узлы. Примеры:

// Name label
Label nameLabel = new Label("Username:");
GridPane.setConstraints(nameLabel, 0, 0);     

// Password label
Label passLabel = new Label("Password:");
GridPane.setConstraints(passLabel, 0, 1);   

Подробнее см. javadocs .

...