已使用JavaFX构建了一个简单的待办事项列表应用程序
当我添加任务时,它们将在ListView中列出,用户应该能够通过右键单击它们并选择“删除任务”来删除任务-通过使用上下文菜单在单元格上处理事件来实现此目的和单元工厂内部的setOnAction方法。
由于我明确使用了单元工厂,因此我了解基础数据的默认绑定,并且格式设置不好。因此,阅读本文后,我尝试手动将其绑定。但我得到这个错误。 error message
vTaskList.setCellFactory(param -> {
ListCell<Task> cell = new ListCell<>();
// setting context menu for cell
ContextMenu menu = new ContextMenu();
cell.textProperty().bind(cell.itemProperty());
MenuItem deleteTask = new MenuItem();
deleteTask.setOnAction(del -> {
vTaskList.getItems().remove(vTaskList.getSelectionModel().getSelectedIndex());
});
deleteTask.setText("Delete Task");
menu.getItems().add(deleteTask);
cell.setContextMenu(menu);
return cell;
});