在ScalaFX中如何获取鼠标下的哪个表行?

时间:2015-06-01 14:26:51

标签: scala mouseevent mouseover scalafx

我有一个人的桌面视图。每当我将鼠标移到一个人的行上时,我想显示一些有关它的信息。 (例如,可以在textArea中显示信息)。感谢名单

1 个答案:

答案 0 :(得分:0)

您可以在TableView值中分配TableCell实例的onMouseEntered属性吗?

custom cell value factory可用于提供特定于应用程序的单元子类的实例。这允许自定义单元格将自己的事件处理函数分配给Node定义的事件处理属性。例如,在单元格值工厂提供的TableCell的自定义子类中尝试此操作:

  onMouseEntered = (event: MouseEvent) => {
    info(s"onMouseEntered cell ${index()}: $event")
    event.consume()
  }

TableCell.index()提供TableView中单元格的当前索引。

如果您没有获得预期的价值,可能是因为细胞被回收利用。如果您滚动一个大表,TableView将使用一种名为" virtualization"通过将现有小区与不同内容相关联来重用小区实例,例如,您可以看到的第一个单元格可能是表格中的第100个单元格。