JavaFX |工具提示
Tooltip 是 JavaFx 包的一部分。当鼠标悬停在组件上时,工具提示用于向用户显示附加信息。所有组件都可以与工具提示相关联,也可以与屏幕的一部分相关联。
Tooltip 类的构造函数:
- Tooltip() :为其文本创建一个带有空字符串的工具提示。
- Tooltip(String t) :使用指定文本创建工具提示。
常用方法:
method | explanation |
---|---|
getFont() | Gets the value of the property font. |
getText() | Gets the value of the property text. |
getTextAlignment() | Gets the value of the property textAlignment. |
install(Node n, Tooltip t) | Associates the given Tooltip with the given Node. |
isActivated() | Gets the value of the property activated. |
setFont(Font v) | Sets the value of the property font. |
setText(String v) | Sets the value of the property text. |
setTextAlignment(TextAlignment v) | Sets the value of the property textAlignment. |
下面的程序说明了 Tooltip 在Java中的使用:
创建标签并将工具提示文本添加到标签的程序:我们将为标签 l、l1 l2 创建 3 个工具提示对象 t、t1、t2。然后我们将为两个标签 t1 和 t2 设置字体。对于 t,我们将设置 Arial 字体,对于 t1 Tooltip,我们将设置 Verdana 字体。我们将 t1 和 t2 的文本的 textAlignment 分别设置为 Left 和 Right,我们可以使用两种方式将工具提示设置为标签:第一种是使用 setTooltip()函数,另一种是使用 install()函数。之后创建一个 Tile-pane,调用 addChildren() 方法在场景中附加标签,以及代码中 (200, 200) 指定的分辨率。最后调用 show() 方法显示最终结果。
// Java program to create label and add Tooltip text to the labels
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.collections.*;
import javafx.stage.Stage;
import javafx.scene.text.Text.*;
import javafx.scene.text.*;
public class tooltip extends Application {
// labels
Label l, l1, l2;
// tooltip
Tooltip t, t1, t2;
// launch the application
public void start(Stage s)
{
// set title for the stage
s.setTitle("creating Tooltip");
// create a tile pane
TilePane r = new TilePane();
// create a label
l = new Label("This is a label 1 ");
l1 = new Label("This is a label 2 ");
l2 = new Label("This is a label 3 ");
// create tooltip for labels
t = new Tooltip();
t1 = new Tooltip("tooltip for label 2");
t2 = new Tooltip("tooltip for label 3");
// set text for label 1
t.setText("tooltip for label 1");
// set font for tooltip
t.setFont(Font.font("Arial", FontPosture.ITALIC, 15));
t1.setFont(Font.font("Verdana", FontPosture.REGULAR, 10));
// set alignment for tooltip text
t1.setTextAlignment(TextAlignment.LEFT);
t2.setTextAlignment(TextAlignment.RIGHT);
// set the tooltip for labels
l.setTooltip(t);
l1.setTooltip(t1);
Tooltip.install(l2, t2);
// add label
r.getChildren().add(l);
r.getChildren().add(l1);
r.getChildren().add(l2);
// create a scene
Scene sc = new Scene(r, 200, 200);
// set the scene
s.setScene(sc);
s.show();
}
public static void main(String args[])
{
// launch the application
launch(args);
}
}
输出:
注意:以上程序可能无法在在线 IDE 中运行,请使用离线编译器。
参考: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/Tooltip.html