我是 JavaFX 的新手。我创建了一个TableView
看起来像附加的图像。
当我鼠标悬停时,我想在表格的每个单元格上显示一个工具提示。我已经设置了两个CellFactory
;一个在第一列显示复选框,一个在第二列显示图像。
所以显示工具提示一定不能影响这两个渲染的列。有没有办法在鼠标悬停时在表格的每个单元格上显示工具提示,并且不应该影响其他单个列单元格的渲染。
当我需要某个列的单元格中的工具提示时,这是我所做的:
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..!"));
}
};
});
如果有人正在寻找简单的东西,这是一个通用的解决方案。它遵循与其他自定义单元工厂相同的约定。
只需创建一个新类并将TooltippedTableCell粘贴到其中;然后设置所需列的自定义单元工厂,如下所示:
someColumn.setCellFactory(TooltippedTableCell.forTableColumn());
只需创建工具提示并安装在您想要的节点上
Cell c = new Cell();
Tooltip.install(c, new Tooltip("text"));