Javafx 使用MouseeEvent获取TableView单元格数据

Javafx 使用MouseeEvent获取TableView单元格数据,javafx,mouseevent,cell,Javafx,Mouseevent,Cell,我目前有一个带有自定义CellFactory的TableView。我试图弄清楚当鼠标进入单元格时,如何获取单元格底层的核心数据 我将使用此数据填充在另一个控制器中定义的标签 我一直在尝试查看事件过滤器和事件处理程序,并怀疑答案与正确使用它们有关,但我一直无法找到答案 请让我知道什么代码,如果有的话,你想看看。我甚至不知道在这一点上什么会有帮助 向单元格注册鼠标侦听器以处理鼠标插入的事件,并调用单元格上的getItem以获取数据: TableView<MyRowType> table

我目前有一个带有自定义CellFactory的TableView。我试图弄清楚当鼠标进入单元格时,如何获取单元格底层的核心数据

我将使用此数据填充在另一个控制器中定义的标签

我一直在尝试查看事件过滤器和事件处理程序,并怀疑答案与正确使用它们有关,但我一直无法找到答案


请让我知道什么代码,如果有的话,你想看看。我甚至不知道在这一点上什么会有帮助

向单元格注册鼠标侦听器以处理鼠标插入的事件,并调用单元格上的getItem以获取数据:

TableView<MyRowType> table = ... ;
TableColumn<MyRowType, MyCellType> column = ... ;

column.setCellFactory ( c-> {
    TableCell<MyRowType, MyCellType> cell = new TableCell<MyRowType, MyCellType>() {
        @Override
        public void updateItem(MyCellType item, boolean empty) {
            super.updateItem(item, empty) ;
            // your implementation here...
        }
    };
    cell.setOnMouseEntered( e -> {
        MyCellType item = cell.getItem();
        if (item != null) {
            // do whatever you need with item
        }
    });
    return cell ;
});