原文地址http://download.oracle.com/javafx/2.0/ui_controls/tooltip.htm#BABBIJBJ
Tooltip类产生一个常见的UI控件,一般用来为UI控件添加信息。把鼠标放在控件上提示条就显示出来。任何控件使用
setTooltip方法都能添加提示条。
提示条有2个状态:激活的和显示的。当鼠标放置在控件上时提示条激活,当它显示出来就是“显示的”状态,显示的提示条也是激活的。在提示条激活和显示之间有一些延迟。
带有提示条的密码框见Figure 18-1 .
Figure 18-1 Tooltip Added to a Password Field
Description of "Figure 18-1 Tooltip Added to a Password Field"
创建Tooltip
研究 Example 18-1 中的代码,它创建的是上面的应用。
Example 18-1 Adding a Tooltip to the Password Field
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包中的每个控件都具有添加提示条的
setTooltip
方法。可以定义文本,使用Tooltip的构造方法或
setText
方法 。
由于 Tooltip
类继承了Labeled
类,所以不仅可以添加文本,也可以添加图形。 Example 18-2 中的代码块为密码框的提示条添加了图标。
Example 18-2 Adding an Icon to a Tooltip
Image image = new Image( getClass().getResourceAsStream("warn.png") ); tooltip.setGraphic(new ImageView(image));
运行效果见 Figure 18-2
提示条不仅能提供辅助信息,也能呈现数据。
在提示条中呈现数据
Figure 18-3 中的应用使用显示在提示条中的信息来计算酒店住宿的总费用。
Each checkbox is accompanied by a tooltip.每个复选框有一个提示条,每个提示条显示一个特定预定项目的费用。如果用户选择了复选框,相应的值就加到总数中。当然取消选中后也会从总数中减去。
看下该应用的代码Example 18-3 .
Example 18-3 Using Tooltips to Calculate Hotel Rates
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); } @Override public 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(); } }
Example 18-4 中的代码加入到 Example 18-3 中来创建一个提示条并分配了一个文本。项目价格的Integer
值被转化成了String
值。
Example 18-4 Setting the Value for a Tooltip
final Tooltip tooltip = new Tooltip("$" + rates[i].toString())
可以通过使用CSS来改变其外观。
相关推荐
javaFX高级教程JavaFX2.0的FXML语言 中文文档,想免费上传,CSDN不同意,选了一个最小资源分2
javafx2.0,java,javafx,例子,代码 Sun公司(已于20092008年12月05日发布了JavaFX技术的正式版,它使您能利用 JavaFX 编程语 言开发富互联网应用程序(RIA)。JavaFX Script编程语言(以下称为JavaFX)是Sun微...
JavaFX2.0基础教程.pdf
JavaFX 2.0 Introduction by Example.zip是javafx2.0的最新书籍《[JavaFX.2.0:Introduction.by.Example].Carl.Dea》上的源码!大家可以下载本书和源码一起看!我都上传了!
Javafx 2.0: Introduction by Example
JavaFX2.0平台是java客户端设计演进,使应用开发者易于创建和部署跨平台且表现一致的Rich Internet Application(RIAs)。JavafX是由Java技术构建,基于高性能硬件加速的媒体和图形引擎,JavaFX平台提供了一套丰富的...
JavaFX 2.0 Introduction by Example – PDF Books
javafx2.0最新最快的资料! javafx2.0最新最快的资料! javafx2.0最新最快的资料! javafx2.0最新最快的资料!
JavaFX2.0内建控件教程 本篇教程内容覆盖JavaFX内建的有效图形界面控件(UI控件),包括如下章节内容: • JavaFX UI Controls • Label • Button • Radio Button • Toggle Button • Checkbox • Choice Box • ...
该文档的内容来自Oracle的官网,多了中英文对照。 如果你希望以JavaFx快速开发出具有丰富的用户体验的应用,那么该手册正是为你而在。
JavaFx2.0官方教程中文翻译文档,共36章节,并有一个国际象棋实际开发程序。
JavaFX 2.0 全套教程, 非常齐全的pdf文档,学习JavaFX 2.0必备!
javafx2.0 中文文档.zip
JavaFx的初次尝试,大家可以访问的新博客 http://zhenghaoju700.blog.163.com/blog/static/1358595182011915103814548/ 解压后双击 YahooWeather.jar文件,必须安装JavaFx 运行时环境
javafx 2.0最新 SDK 安装时请注意必须安装在默认的路径下,否则netbean工具服务自动读取到
javafx2.0 最新官方教程 javafx2.0 最新官方教程