DOC-03-02 标签(Label)

本章主要介绍如何使用标签(Label),该类位于JavaFX APIjavafx.scene.control包中,用于展示一个文本元素。接下来会介绍如何让文本元素折叠换行来适应受限空间,添加一个图标,或使用视觉特效。

2-1显示了Label的三种常见用法。左边的Label是一个带图标的文本,中间的展示了旋转效果,右边的使用了折叠换行设置。

2-1 Label样例应用程序

3-2-1 labels

创建一个Label

JavaFX APILabel提供了三个构造方法,见例2-1

2-1 创建Label

在你创建了一个Label之后,你可以使用Labeled类的以下方法来设置或者修改文本以及图标

    ·setText(String text) method——指定文本内容

    ·setGraphic(Node graphic)——指定图标

setTextFill()方法可以设定文本的填充颜色。2-2创建一个带文本的Label,为其添加了一个图标,并指定了文本填充颜色。

2-2 Label添加一个图标和文本

运行这段代码,结果如图2-2所示。

2-2 带图标的Label

3-2-2 search-label

如果为标签同时设置了文本和图标,可以使用setGraphicTextGap()方法来设置它们之间的间距。

另外,你可以使用setTextAlignment()方法改变其对齐方向。你还可以通过setContentDisplay(ContentDisplay value)方法定义图形与文本的相对位置,ContentDisplay常量的可选值为:居左LEFT,居右RIGHT,居中CENTER,居上TOP,居下BOTTOM

设置字体

比较图2-1和图2-2中的Search Label。图2-1的字体大一些。这是因为代码片段2-2没有设置任何字体,它采用的是默认字体。

你可以使用setFont()方法来Label的默认字体大小进行修改代码片段2-3label1的文本字体大小设置为30 points,并且将字体设置为Ariallabel2大小为32 points,字体为Cambria

2-3 应用字体设置

折叠换行文字

当你需要在一个比较小的空间内放置一个Label时,对文本进行折叠换行能够更好地适应布局空间大小。这时需要使用setWrapText方法,并将其值参数为true,如例2-4

2-4 启用文本折叠换行

label3被添加到应用程序中,运行结果如图2-3

2-3 折叠换行文本的Label

3-2-3 label-wrap

如果标签的布局区域不仅有宽度限制,还有高度限制,那么你可以指定当无法显示所有的文本内容时标签的显示行为。你可以使用setTextOverrun(OverrunStyle value)方法来实现此功,其中OverrunStyle用于指示如何处理不能完全呈现出来的文本。如需了解更多详细信息,请参考OverrunStyle类型的API文档

添加视觉特效

尽管一个标签是不能编辑的静态内容,但你依然可以对它添加视觉特效或者变换效果。代码片段2-5中将label2旋转了270度,并垂直移动了它的位置

2-5旋转一个标签

旋转和位移是JavaFX API中典型的变换效果。此外,你还可以设置缩放效果,它的作用是当用户将鼠标光标悬停于标签上时将其放大显示。

代码片段2-6中对label3设置了缩放效果。MOUSE_ENTERED事件被触发时,将会通过setScaleXsetScaleY方法设置缩放因子为1.5当用户将鼠标从标签上移开时会触发MOUSE_EXITED事件,此时缩放比例因子将会还原为1.0标签将会恢复其原始大小

2 – 6 缩放效果

2-4显示了label3的两种状态。

2 – 4 放大标签

3-2-4 label-zoom

相关的API文档

    · Label

    · Labeled

打赏一下
支付宝
微信
除非注明,博客文章均为原创,转载请标明文章地址
本文地址: http://www.javafxchina.net/blog/2015/04/doc02_label/
百度已收录