2

默认样式突出显示鼠标所在的行。我需要找出 onMouseMove 处理程序中的行索引。

4

1 回答 1

4

其中一种方法是使用细胞工厂。例如,考虑 oracle 教程中的示例代码示例 12-4 创建单元工厂。要添加您想要替换电池出厂设置代码的功能,如下所示:

list.setCellFactory(new Callback<ListView<String>, ListCell<String>>() {
    @Override
    public ListCell<String> call(ListView<String> list) {
        final ListCell cell = new ColorRectCell();
        cell.setOnMouseEntered(new EventHandler<MouseEvent>() {
            @Override
            public void handle(MouseEvent event) {
                System.out.println("index: " + cell.getIndex());
            }
        });
        return cell;
    }
});
于 2012-12-24T08:41:09.323 回答