Подтвердить что ты не робот

Различия между метками и текстом в JavaFX

В чем разница между javafx.scene.text.Text и javafx.scene.control.Label?

В документации написано:

  • Ярлык является редактируемым текстовым элементом без редактирования.
  • Класс Text определяет node, который отображает текст.

Но класс Label имеет метод "setText" и "textProperty", поэтому доступен для редактирования.

4b9b3361

Ответ 1

Как отметил Гарри Блэргл, "нередактируемый" означает "не редактируемый пользователем". Таким образом, Label и Text не редактируются.

Метка и текст имеют разные свойства CSS. Ярлык наследуется от Labeled, Control и Region, что означает, что он наследует большое количество свойств, которые не имеют текста. Ярлык может иметь выравнивание, графику, фон, границу, отображаемую клавиатурную мнемонику, встроенную упаковку и может быть разумно обрезана с помощью ellipsis ( "..." ).

Текст может участвовать в TextFlow. (Технически, Label также может, но он рассматривается как просто еще один встроенный элемент управления и не выложен как текст.)

В общем случае, если вы хотите показать назначение элемента управления вводом одного или нескольких слов рядом с ним и/или вы хотите разрешить прямую клавиатурную навигацию для элемента управления вводом, вы используете метку. Если вы хотите отображать текстовый контент, не связанный с вводом, вы используете Text.

Ответ 2

A Text - это геометрическая форма (например, прямоугольник или круг), тогда как Label является элементом управления пользовательским интерфейсом (например, Button или CheckBox).

В Swing геометрические формы были ограничены механизмом окраски, в то время как в JavaFX они могут использоваться более общим образом.