JavaFx Дети выравнивание между 2 HBoxes

Попытка выровнять дочерние элементы (метки) двух разных HBox, которые были созданы одним и тем же методом:

public HBox addHBox() {
    HBox hbox = new HBox(10);
    hbox.setLayoutX(10);
    hbox.setPrefWidth(Pane.getWidth());
    hbox.setPrefHeight(Pane.getHeight());
    return hbox;
}

LayoutY отличается и изменяется после создания каждого HBox. Таким образом, я хочу добиться того, чтобы добавленный дочерний элемент [i] HBox1 находился прямо под дочерним элементом [i] HBox2.

Примечание: размер детей не должен иметь значения! (это то, что беспокоит меня)

Я старался

hbox2.setMinWidth(hbox1.getMinWidth());

а также

hbox2.setPrefWidth(hbox1.getPrefWidth());

а также

hbox2.setMaxWidth(hbox1.getMaxWidth());

Кажется, ничто не поможет. Есть идеи? PS Я знаю, что я могу использовать gridPane, но это не в этом случае

2 ответа

Решение

Ваш HBox только классифицирует ваш Nodes одна сторона другой горизонтально, и в вашем случае я полагаю, что вы используете Text контроль, чтобы отобразить вашу строку, я не говорю, что это плохая идея, но я думаю, что ширина вашего Node(Text) зависит от длины строки, которая дает непредсказуемое и беспорядочное отображение, так почему бы не использоватьLabelПреимущество этогоэлемента управления состоит в том, что вы можете определить ширину фона, что даст предел вашей строке и позволит упорядоченное отображение!

Хорошо, после дополнительных исследований и помощи сообщества:

1. Определенно следует использовать gridPane.

2. Или измените layoutX каждой метки в HBox2, чтобы она соответствовала layoutX метки из HBox1.

Другие вопросы по тегам