OpenJFX控件Label与Text的区别

|1933字|180阅读

作者关注到腾讯云+社区有一个提问:如何实现JavaFX中的标签和文本差异?

javafx.scene.text.Text和javafx.scene.control.Label有什么区别?

文件说:Label是一个不可编辑的文本控件。

Text类定义显示文本的节点。

但Label类有一个方法“setText”和“textProperty”,因此是可编辑的。

链接:https://cloud.tencent.com/developer/ask/173589

有以下两个回答:

答者1.

正如Harry Blargle指出的那样,“不可编辑”意味着“不能被用户编辑”,因此Label和Text都是不可编辑的。 标签和文本具有不同的CSS属性, Label继承自Labeled,Control和Region,这意味着它继承了Text没有的许多可定制属性。标签可以具有对齐,图形,背景,边框,显示的键盘助记符,内置包装,并且可以使用省略号(“...”)智能地剪裁。 文本可以参与TextFlow,如果要通过在其旁边放置一个或多个单词来显示输入控件的用途,和/或希望允许直接键盘导航到输入控件,则使用Label。如果要显示与输入无关的文本内容,请使用“文本”。

答者2.

Text是几何形状(如矩形或圆形), Label而是UI控件(如Button或CheckBox)。 在Swing中,几何形状仅限于绘制机制,而在JavaFX中,可以以更通用的方式使用。

Label

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/**
 * Label is a non-editable text control. A Label is useful for displaying
 * text that is required to fit within a specific space, and thus may need
 * to use an ellipsis or truncation to size the string to fit. Labels also are
 * useful in that they can have mnemonics which, if used, will send focus to
 * the Control listed as the target of the ```labelFor``` property.
 * 
 * Label sets focusTraversable to false.
 * 
 *
 * <p>Example:
 * ```Label label = new Label("a label");```
 *   @since JavaFX 2.0
 */

Text

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/**
 * The {@code Text} class defines a node that displays a text.
 *
 * Paragraphs are separated by {@code '\n'} and the text is wrapped on
 * paragraph boundaries.
 * import javafx.scene.text.*;
 *  
 * Text t = new Text(10, 50, "This is a test");
 * t.setFont(new Font(20));
 *
 *
 *
 * import javafx.scene.text.*;
 *
 * Text t = new Text();
 * text.setFont(new Font(20));
 * text.setText("First row\nSecond row");
 *
 *
 *
 * import javafx.scene.text.*;
 *
 * Text t = new Text();
 * text.setFont(new Font(20));
 * text.setWrappingWidth(200);
 * text.setTextAlignment(TextAlignment.JUSTIFY)
 * text.setText("The quick brown fox jumps over the lazy dog");
 * @since JavaFX 2.0
 */

总结

  • Label与Text的区别
  • Label的实现方式
  • Text的实现方式
|1933字|180阅读
点击加载Disqus评论
         
返回顶部