我刚刚编写了一个代码,该代码在listView上单击后打开了一个元素。 但是我希望添加一个允许用户修改该元素的功能,以便用户双击要修改的元素,然后简单地单击它以显示其面板。 有什么解决办法吗? 谢谢
答案 0 :(得分:1)
在自定义setOnMouseClicked
中使用CellFactory
。
yourListView.setCellFactory(lv -> new ListCell<YourObject>()
{
@Override
public void updateItem(YourObject item, boolean empty)
{
super.updateItem(item, empty);
if (empty) {
setText(null);
setGraphic(null);
}
else {
//do other stuff here
setOnMouseClicked(mouseClickedEvent -> {
if (mouseClickedEvent.getButton().equals(MouseButton.PRIMARY) && mouseClickedEvent.getClickCount() == 2) {
System.out.println("double clicked");
}
});
}
}
});