javafx从TableView中的按钮列删除行[Java]
我有一个TableView,它沿着一列生成按钮:
构建任务管理应用程序。当按下相应的按钮时,我希望能够删除按钮所在的行,而不是选中的行,如图here
My table类实现EventHandler,因此按下时,TableView中的按钮将运行handle()方法:
public TableList(String task, String subject, LocalDate dueDate) {
this.task = new SimpleStringProperty(task);
this.subject = new SimpleStringProperty(subject);
this.dueDate = dueDate;
this.completed = new JFXButton("Finished");
completed.setOnAction(this);
}
@Override
public void handle(ActionEvent event) {
// DELETE ROW HERE
}
唯一缺少的是如何检测按下按钮的行,然后将其删除(因为所有按钮都运行相同的句柄方法)。非常感谢你的帮助
为清晰起见,请在此转储代码:https://pastebin.com/TGk4CUWh
# 1 楼答案
这是一个演示。更改了here中的代码。关键是在}中,从
TableCell
中使用updateItem
。在Button's
{TableView
的当前索引处删除Button
getIndex()
获取当前索引中的按钮