如何在JavaFX表鼠标悬停的每个单元格上设置工具提示?

Ash*_*oli 13 java render tooltip cell javafx-2

我是新来的JavaFX.我创建了TableView,看起来像附加的图像.鼠标悬停时,我想在桌子的每个单元格上显示工具提示.我已经设置了两个Cell Factory用于在第一列和第二列中显示复选框和图像的渲染.因此,显示工具提示不得影响这两个渲染列.有没有办法在鼠标悬停时在桌子的每个单元格上显示工具提示,这不应该影响其他单个列单元格渲染.

在此输入图像描述

Int*_*kot 8

这是我在某个列的单元格中需要工具提示时所做的事情:

TableColumn<Person, String> nameCol = new TableColumn<Person, String>("Name");

nameCol.setCellFactory
 (
   column ->
    {
      return new TableCell<Person, String>()
       {
         @Override
         protected void updateItem(String item, boolean empty)
          {
             super.updateItem(item, empty);
             setText( item );
             setTooltip(new Tooltip("Live is short, make most of it..!"));
          }
       };
    });
Run Code Online (Sandbox Code Playgroud)


Bra*_*rek 5

操作中的工具提示

这是一个通用的解决方案,如果有人正在寻找简单的东西。它遵循与其他自定义单元工厂相同的约定。

只需创建一个新类并将TooltippedTableCell粘贴到其中即可;然后像这样设置你想要的列的自定义单元工厂:

someColumn.setCellFactory(TooltippedTableCell.forTableColumn());
Run Code Online (Sandbox Code Playgroud)


Ash*_*mar 2

只需创建工具提示并安装在您想要的节点上

    Cell c = new Cell();
    Tooltip.install(c, new Tooltip("text"));
Run Code Online (Sandbox Code Playgroud)