如何在 JavaFX 中为选择框设置工具提示?

javafxobject oriented programmingprogramming更新于 2025/6/26 5:52:17

选择框

在 JavaFX 中,选择框由类 javafx.scene.control.ChoiceBox<T> 表示。您可以通过实例化此类来创建选择框。选择框包含一组多个选项,并且只允许您选择其中之一。

它有两种状态 −

  • 显示 − 您可以在选择框中查看选项列表。

  • 不显示 −您可以看到选择框的当前选项

工具提示

每当您将鼠标指针悬停在应用程序中的某个元素(例如按钮、标签等)上时,工具提示都会显示有关该元素的提示。在 JavaFX 中,工具提示由 javafx.scene.control.Tooltip 类表示,您可以通过实例化该类来创建工具提示。

实例化该类时,您需要将要提示的文本作为参数传递给其构造函数(或使用 setText() 方法设置它)。

向选择框添加工具提示

您可以使用 − 向选择框添加工具提示

  • Install() 方法 −这是 ToolTip 类的一个方法,它接受一个 Node 和一个 Tooltip 对象作为参数。使用该方法,您可以在指定节点上安装工具提示。

  • setToolTip() 方法 − 这是 javafx.scene.control.Control 类(所有用户界面控件的父类)的一个方法。您还可以使用 setTooltip() 方法将工具提示设置为控制元素。

示例

以下 JavaFX 示例创建了一个选择框并为其添加了工具提示 −

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.Label;
import javafx.scene.control.Tooltip;
import javafx.scene.layout.HBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;
import javafx.stage.Stage;
public class ChoiceBoxAddingTooltip extends Application {
   public void start(Stage stage) {
      //设置标签
      Label label = new Label("选择显示语言:");
      Font font = Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 12);
      label.setFont(font);
      //创建选择框
      ChoiceBox choiceBox = new ChoiceBox();
      choiceBox.setValue("English");
      //将选项添加到可观察列表中
      choiceBox.getItems().addAll(&"English&";, &"Hindi&";, &"Telugu&";, &"Tamil&";);
      //创建工具提示
      Tooltip toolTip = new Tooltip(&"Select a Language&";);
      //将工具提示添加到选择框
      choiceBox.setTooltip(toolTip);
      //创建 HBox
      HBox box = new HBox(5);
      box.setPadding(new Insets(25, 5 , 5, 50));
      box.getChildren().addAll(label, choiceBox );
      //设置舞台
      Scene scene = new Scene(box, 595, 170, Color.BEIGE);
      stage.setTitle("Choice Box Example");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

输出


相关文章