JavaFX UI控件教程(三)之Label
翻译自 Label
本章介绍如何使用Label
驻留在javafx.scene.control
JavaFX API包中的类来显示文本元素。了解如何包装文本元素以适合特定空间,添加图形图像或应用视觉效果。
图2-1显示了三种常见的标签用法。左侧的标签是带有图像的文本元素,中间的标签表示旋转的文本,右侧的标签呈现包装的文本。
创建标签
JavaFX API提供了三个Label
类的构造函数,用于在应用程序中创建标签,如例2-1所示。
//An empty label
Label label1 = new Label();
//A label with the text element
Label label2 = new Label("Search");
//A label with the text element and graphical icon
Image image = new Image(getClass().getResourceAsStream("labels.jpg"));
Label label3 = new Label("Search", new ImageView(image));
在代码中创建标签后,可以使用以下Labeled
类的方法向其中添加文本和图形内容。
该
setText(String text)
方法-指定标签文本标题setGraphic(Node graphic)
- 指定图形图标
该setTextFill
方法指定绘制标签文本元素的颜色。研究例2-2。它会创建一个文本标签,为其添加一个图标,并指定文本的填充颜色。
Label label1 = new Label("Search");
Image image = new Image(getClass().getResourceAsStream("labels.jpg"));
label1.setGraphic(new ImageView(image));
label1.setTextFill(Color.web("#0076a3"));
为按钮定义文本和图形内容时,可以使用该setGraphicTextGap
方法设置它们之间的间隙。
设置字体
比较图2-1和图2-2中的搜索标签。请注意,图2-1中的标签具有更大的字体大小。这是因为示例2-2中显示的代码片段未指定标签的任何字体设置。它使用默认字体大小呈现。
要提供标签默认值以外的字体文本大小,请使用类的setFont
方法Labeled
。示例2-3中的代码片段将label1文本的大小设置为30磅,将字体名称设置为Arial。对于label2,将文本大小设置为32磅,将字体名称设置为Cambria。
//Use a constructor of the Font class
label1.setFont(new Font("Arial", 30));
//Use the font method of the Font class
label2.setFont(Font.font("Cambria", 32));
文字换行
创建标签时,有时您必须将其放入小于您需要渲染的空间内。要拆分(换行)文本以使其适合布局区域,请设置方法的true
值setWrapText
,如示例2-4所示。
Label label3 = new Label("A label that needs to be wrapped");
label3.setWrapText(true);
将label3添加到应用程序的内容时,将呈现如图2-3所示的内容。
应用效果
虽然标签是静态内容且无法编辑,但您可以对其应用视觉效果或变换。例2-5中的代码片段将label2旋转270度并垂直平移其位置。
Label label2 = new Label ("Values");
label2.setFont(new Font("Cambria", 32));
label2.setRotate(270);
label2.setTranslateY(50);
旋转和转换是JavaFX API中可用的典型转换。此外,您可以设置一种效果,当用户将鼠标光标悬停在标签上时,该效果可以缩放(放大)标签。
label3.setOnMouseEntered(new EventHandler<MouseEvent>() {@Override public void handle(MouseEvent e) {label3.setScaleX(1.5);label3.setScaleY(1.5);}
});label3.setOnMouseExited(new EventHandler<MouseEvent>() {@Override public void handle(MouseEvent e) {label3.setScaleX(1);label3.setScaleY(1);}
});
Label
Labeled
JavaFX UI控件教程(三)之Label相关推荐
- JavaFX UI控件教程(二)之JavaFX UI控件
翻译自 JavaFX UI控件 本章概述了通过API提供的JavaFX UI控件. JavaFX UI控件是使用场景图中的节点构建的.因此,控件可以使用JavaFX平台的视觉丰富功能.由于JavaF ...
- JavaFX UI控件教程(八)之Choice Box
翻译自 Choice Box 本章介绍了选项框,这些UI控件提供了在几个选项之间快速选择的支持. 使用ChoiceBox该类将选择框添加到JavaFX应用程序.其简单的实现如图7-1所示. 图7- ...
- JavaFX UI控件教程(一)之简述
翻译自 JavaFX UI控件概述 关于本教程 本教程介绍JavaFX API中提供的内置JavaFX UI控件. 该文件包含以下章节: JavaFX UI控件 标签 按钮 单选按钮 切换按钮 复选 ...
- JavaFX UI控件教程(二十八)之UI控件的自定义
翻译自 Customization of UI Controls 本章介绍了UI控件自定义的各个方面,并总结了Oracle提供的一些提示和技巧,以帮助您修改UI控件的外观和行为. 您可以通过应用层叠 ...
- JavaFX UI控件教程(二十二)之Titled Pane和Accordion
翻译自 Titled Pane and Accordion 本章介绍如何在JavaFX应用程序中使用accordion和title窗格的组合. 标题窗格是带标题的面板.它可以打开和关闭,它可以封装任 ...
- JavaFX UI控件教程(二十三)之Menu
翻译自 Menu 本章介绍如何创建菜单和菜单栏,添加菜单项,将菜单分组,创建子菜单以及设置上下文菜单. 您可以使用以下JavaFX API类在JavaFX应用程序中构建菜单. 菜单栏 菜单项 菜单 ...
- JavaFX UI控件教程(十五)之Combo Box
翻译自 Combo Box 本章介绍如何在JavaFX应用程序中使用组合框.它讨论了可编辑和不可编辑的组合框,教您如何跟踪可编辑组合框中的更改并处理它们上的事件,并解释如何使用单元工厂来更改组合框 ...
- JavaFX UI控件教程(九)之Text Field
翻译自 Text Field 本章讨论文本字段控件的功能. 的TextField类实现接受并显示文本输入的UI控制.它提供了从用户接收文本输入的功能.与另一个文本输入控件一起,PasswordFi ...
- JavaFX UI控件教程(四)之Button
翻译自 Button Button通过JavaFX API提供的类使开发人员能够在用户单击按钮时处理操作.该Button班是的扩展Labeled类.它可以显示文本,图像或两者.图3-1显示了具有各种 ...
- JavaFX UI控件教程(二十一)之Tooltip
翻译自 Tooltip 在本章中,您将了解工具提示,即当鼠标光标悬停该控件时,可以为任何UI控件设置的控件. 的Tooltip类表示通常用于显示关于所述用户接口的控制附加信息的公共UI组件.可以通过 ...
最新文章
- 如何在 Kaggle 首战中进入前 10%
- Docker-Compose简介与Ubuntu Server 上安装Compose
- mkyaffs2image编译
- AIsing Programming Contest 2020 总结
- Win10系统自带输入法怎么设置
- int取值范围的注意问题
- 35.NO module named zlib
- 在Eclipse新建菜单中添加菜单项,其他地方添加菜单项类似
- go语言--goroutine
- proto3与proto2的区别
- 记录php运行日记的方法
- java爬虫 教程_Java爬虫其实也很简单,教你实用的入门级爬虫
- ZCU106 VCU Linux驱动转裸机驱动篇(一)
- IOS开发之相机、相册页面英文问题
- java技术路线思维导图_开题报告中的研究方法及技术路线指的啥?
- 企业怎么管理多个邮箱?如何高效地管理邮件?
- JAVA 1058:求一元二次方程
- tACS恢复老年人认知控制能力的EEG功能和DTI结构网络机制
- 三坐标测圆的直径怎么测_大半径短圆弧用三坐标测不准?知道为什么吗?
- vmware linux访问windowsxp下的文件
热门文章
- 455. 分发饼干001(贪心算法+详解)
- 「offer来了」浅谈前端面试中开发环境常考知识点
- [PAT乙级]1036 跟奥巴马一起编程
- 2019年第十届蓝桥杯国赛B组试题E-路径计数-dfs(坑题)
- [蓝桥杯][基础练习VIP]FJ的字符串-递归
- Most Unstable Array CodeForces - 1353A(数学+贪心+建设性算法)
- Rochambeau POJ - 2912 (枚举和加权并查集+路径压缩)找唯一裁判
- P3250 [HNOI2016]网络(整体二分)
- poj 2191 Mersenne Composite Numbers
- E - The Imp(博弈/动态规划)