默认样式突出显示鼠标所在的行。我需要找出onMouseMove处理程序中的哪个行索引。
答案 0 :(得分:3)
其中一种方法是使用细胞工厂。例如,请考虑oracle教程中的示例代码Example 12-4 Creating a Cell Factory。要添加所需的功能,请按如下所示替换单元出厂设置代码:
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;
}
});