JavaFX中的标签和文本差异
javafx.scene.text.Text和javafx.scene.control.Label有什么区别?
该文件说:
- 标签是一个不可编辑的文本控件。
- Text类定义了一个显示文本的节点。
但是Label类有一个方法“setText”和“textProperty”,因此是可编辑的。
正如Harry Blargle指出的那样,“不可编辑”意味着“用户不能编辑”。 所以标签和文本都是不可编辑的。
标签和文本具有不同的CSS属性。 标签从标签,控制和区域inheritance,这意味着它inheritance了很多文本没有的样式属性。 标签可以具有alignment,graphics,背景,边框,显示的键盘助记符,内置包装,并且可以用省略号 (“…”)来智能地裁剪。
文本可以参与TextFlow 。 (从技术上来说,Label也可以,但是它被看作是另一个embedded式控件,并不是作为文本来布局的。)
一般来说,如果要通过在其旁边放置一个或多个单词来显示input控件的用途,并且/或者希望允许直接键盘导航到input控件,则可以使用Label。 如果要显示与input无关的文本内容,请使用文本。
Text
是几何形状(如矩形或圆形),而Label
是一个UI控件(如Button或CheckBox)。
在Swing中,几何形状仅限于绘画机制,而在JavaFX中,它们可以以更通用的方式使用。