JavaFX UI控件教程(二十一)之Tooltip
翻译自 Tooltip
在本章中,您将了解工具提示,即当鼠标光标悬停该控件时,可以为任何UI控件设置的控件。
的Tooltip
类表示通常用于显示关于所述用户接口的控制附加信息的公共UI组件。可以通过调用setTooltip
方法在任何控件上设置工具提示。
工具提示有两种不同的状态:激活和显示。激活工具提示后,鼠标移动到控件上。当工具提示处于显示状态时,它实际上会出现。显示的工具提示也被激活。工具提示激活时和实际显示之间通常会有一些延迟。
带有工具提示的密码字段如图20-1所示。
创建工具提示
研究示例20-1中的代码片段,该代码片段使用上图所示的JavaFX应用程序中的工具提示创建密码字段。
final PasswordField pf = new PasswordField();
final Tooltip tooltip = new Tooltip();
tooltip.setText("\nYour password must be\n" +"at least 8 characters in length\n" +
);
pf.setTooltip(tooltip);
javafx.scene.control
包中的每个UI控件都有setTooltip
添加工具提示的方法。您可以在Tooltip
构造函数中或使用该setText
方法定义文本标题。
由于Tooltip
该类是类的扩展,因此Labeled
您不仅可以添加文本标题,还可以添加图形图标。例20-2中的代码片段在密码字段的工具提示中添加了一个图标。
Image image = new Image(getClass().getResourceAsStream("warn.png")
);
tooltip.setGraphic(new ImageView(image));
将此代码片段添加到应用程序并编译并运行代码后,将显示图20-2中所示的工具提示。
在工具提示中显示应用程序数据
图20-3中的应用程序使用工具提示中显示的信息来计算酒店住宿的总成本
每个复选框都附有工具提示。每个工具提示都会显示特定预订选项的费率。如果用户选中复选框,则会将相应的值添加到总计。如果取消选中所选复选框,则会从总计中扣除相应的值。
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.geometry.Insets;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.CheckBox;
import javafx.scene.control.Label;
import javafx.scene.control.Tooltip;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.scene.text.Font;
import javafx.stage.Stage;public class Main extends Application {final static String[] rooms = new String[]{"Accommodation (BB)","Half Board","Late Check-out","Extra Bed"};final static Integer[] rates = new Integer[]{100, 20, 10, 30};final CheckBox[] cbs = new CheckBox[rooms.length];final Label total = new Label("Total: $0");Integer sum = 0;public static void main(String[] args) {launch(args);}@Overridepublic void start(Stage stage) {Scene scene = new Scene(new Group());stage.setTitle("Tooltip Sample");stage.setWidth(300);stage.setHeight(150);total.setFont(new Font("Arial", 20));for (int i = 0; i < rooms.length; i++) {final CheckBox cb = cbs[i] = new CheckBox(rooms[i]);final Integer rate = rates[i];final Tooltip tooltip = new Tooltip("$" + rates[i].toString());tooltip.setFont(new Font("Arial", 16));cb.setTooltip(tooltip);cb.selectedProperty().addListener(new ChangeListener<Boolean>() {public void changed(ObservableValue<? extends Boolean> ov,Boolean old_val, Boolean new_val) {if (cb.isSelected()) {sum = sum + rate;} else {sum = sum - rate;}total.setText("Total: $" + sum.toString());}});}VBox vbox = new VBox();vbox.getChildren().addAll(cbs);vbox.setSpacing(5);HBox root = new HBox();root.getChildren().add(vbox);root.getChildren().add(total);root.setSpacing(40);root.setPadding(new Insets(20, 10, 10, 20));((Group) scene.getRoot()).getChildren().add(root);stage.setScene(scene);stage.show();}
}
中的代码行实施例20-4在用实施例20-3创建工具提示和分配文本字幕到它。该Integer
期权价格的值转换成String
数值。
final Tooltip tooltip = new Tooltip("$" + rates[i].toString())
Tooltip
Labeled
JavaFX UI控件教程(二十一)之Tooltip相关推荐
- JavaFX UI控件教程(十一)之Scroll Pane
翻译自 Scroll Pane 在本章中,您将学习如何在JavaFX应用程序中构建滚动窗格. 滚动窗格提供UI元素的可滚动视图.此控件使用户可以通过平移视口或使用滚动条来滚动内容.具有默认设置和添 ...
- JavaFX UI控件教程(八)之Choice Box
翻译自 Choice Box 本章介绍了选项框,这些UI控件提供了在几个选项之间快速选择的支持. 使用ChoiceBox该类将选择框添加到JavaFX应用程序.其简单的实现如图7-1所示. 图7- ...
- JavaFX UI控件教程(二)之JavaFX UI控件
翻译自 JavaFX UI控件 本章概述了通过API提供的JavaFX UI控件. JavaFX UI控件是使用场景图中的节点构建的.因此,控件可以使用JavaFX平台的视觉丰富功能.由于JavaF ...
- 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控件教程(二十)之HTML Editor
翻译自 HTML Editor 在本章中,您将学习如何使用嵌入式HTML编辑器编辑JavaFX应用程序中的文本. 该HTMLEditor控件是一个功能齐全的富文本编辑器.它的实现基于HTML5的文档 ...
- JavaFX UI控件教程(十八)之Progress Bar和Progress Indicator
翻译自 Progress Bar and Progress Indicator 在本章中,您将了解进度指示器和进度条,以及可视化JavaFX应用程序中任何操作进度的UI控件. 本ProgressIn ...
最新文章
- 使用深度学习opencv 进行人脸年龄的实时检测
- LoadRunner学习笔记(一)
- windows 搭建kms服务器激活_自建KMS激活服务器的两种方法
- Struts2的Action配置的各项默认值
- 计算机的双一流学校,分数不够上双一流大学计算机专业,上这些大学也不错,实力非常强...
- ubuntu14.04 mysql5.6_ubuntu14.04编译安装mysql5.6.28
- 网盘中搭建git服务
- ShortUrl短网址算法
- 写c++好的软件_族谱家谱制作怎么写?专业的家谱族谱编辑制作软件哪个好
- Python词云库wordcloud 显示中文 !!!
- 关于 IP 属地的一些科普
- 计算机图形学【GAMES-101】12、相机(视场、曝光、光圈(F-Stop)、薄棱镜近似、CoC、景深)
- 生鲜电商带火冷链物流,中、圆、申三通如何拼了命地排兵布阵
- 对今日头条问答部分的预测-未来可能会挂掉
- 【将门创投】如何让飘在半空的计算机视觉技术与需求落地?
- win7防火墙例外设置方法_win7防火墙添加端口方法
- java服务监控_Java最流行的微服务框架监控和各种监控数据
- Blender新手入门练习 宝剑
- window index.dat分析
- 虚拟办公室,节省运营成本
热门文章
- 后端学习 - MySQL存储引擎、索引与事务
- PHP做二次开发:ThinkCMF门户应用安装
- [Spring5]IOC容器_Bean管理XML方式_注入其他类型属性
- [C++STL]map容器用法介绍
- 2019年第十届蓝桥杯国赛B组试题D-求值-枚举
- 评分较高对鸿蒙文,万倍增幅:鸿蒙至高神,加入诸天万界群
- Newton Method in Maching Learning
- P4331 [BalticOI 2004]Sequence 数字序列(左偏树)
- P3714 [BJOI2017]树的难题(点分治/线段树/单调队列)
- P4897 【模板】最小割树(Gomory-Hu Tree)(网络流/最小割/树形结构)