📜  JavaFX |工具提示

📅  最后修改于: 2022-05-13 01:55:17.523000             🧑  作者: Mango

JavaFX |工具提示

Tooltip 是 JavaFx 包的一部分。当鼠标悬停在组件上时,工具提示用于向用户显示附加信息。所有组件都可以与工具提示相关联,也可以与屏幕的一部分相关联。

Tooltip 类的构造函数

  1. Tooltip() :为其文本创建一个带有空字符串的工具提示。
  2. Tooltip(String t) :使用指定文本创建工具提示。

常用方法

methodexplanation
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