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.