Сделайте так, чтобы метка занимала все доступное пространство в HBox в JavaFX.JAVA

Программисты JAVA общаются здесь
Anonymous
Сделайте так, чтобы метка занимала все доступное пространство в HBox в JavaFX.

Сообщение Anonymous »

В JavaFX 21 я хочу, чтобы HBox содержал 3 элемента, метку и две кнопки.

Код: Выделить всё

HBox rowBox = new HBox ( label , buttonX , buttonY );
По умолчанию все виджеты располагаются слева.
Как это с небольшим текстом, если мы представим, что мои внешние квадратные скобки являются границами HBox, а внутренние квадратные скобки — границами каждой кнопки:

Код: Выделить всё

[ Short text. [ buttonX ] [ buttonY] ]
… или это с дополнительным текстом:

Код: Выделить всё

[ Or lots and lots and lots of text. [ buttonX ] [ buttonY] ]
Но я хочу, чтобы две кнопки всегда находились справа, вот так:

Код: Выделить всё

[ Short text.                             [ buttonX ] [ buttonY] ]

Код: Выделить всё

[ Or lots and lots and lots of text.      [ buttonX ] [ buttonY] ]
Я попробовал HBox.setHgrow:

Код: Выделить всё

HBox.setHgrow ( label , Priority.ALWAYS );
… но эффект от этого не приносит мне никакой пользы — элементы остаются в том же положении. Напротив, я хочу, чтобы все нераспределенное пространство поля соответствовало ширине метки. Я хочу, чтобы метка «передвинула» две кнопки к правой стороне поля.
Я пытаюсь реализовать этот макет с помощью одного HBox, чтобы можно было аккуратно выровнять виджеты по базовой линии их текста.

Код: Выделить всё

rowBox.setAlignment ( Pos.BASELINE_LEFT );
👉🏼 Есть ли какой-нибудь способ выделить все дополнительное пространство для метки?
Если нет, есть ли другой способ получить такое расположение кнопок вправо?

Подробнее здесь: https://stackoverflow.com/questions/772 ... -in-javafx

Вернуться в «JAVA»