19

我是 JavaFX 的新手。我创建了一个TableView看起来像附加的图像。

当我鼠标悬停时,我想在表格的每个单元格上显示一个工具提示。我已经设置了两个CellFactory;一个在第一列显示复选框,一个在第二列显示图像。

所以显示工具提示一定不能影响这两个渲染的列。有没有办法在鼠标悬停时在表格的每个单元格上显示工具提示,并且不应该影响其他单个列单元格的渲染。

我正在尝试复制的表的屏幕截图

4

3 回答 3

11

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

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("Life is short, make most of it..!"));
          }
       };
    });
于 2014-10-09T19:55:41.807 回答
5

工具提示在行动

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

只需创建一个新类并将TooltippedTableCell粘贴到其中;然后设置所需列的自定义单元工厂,如下所示:

someColumn.setCellFactory(TooltippedTableCell.forTableColumn());
于 2017-08-03T02:46:57.710 回答
2

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

    Cell c = new Cell();
    Tooltip.install(c, new Tooltip("text"));
于 2013-03-05T06:36:27.967 回答