JAVA代码部分`
@FXML
public void initialize() {
deleteCol.setCellValueFactory(new PropertyValueFactory<XXXMODEL, String>("isDelete"));
Callback<TableColumn<XXXMODEL, String>, TableCell<XXXMODEL, String>> cellFactory1 = new Callback<TableColumn<XXXMODEL, String>, TableCell<XXXMODEL, String>>() {
@Override
public TableCell call(final TableColumn<XXXMODEL, String> param) {
final TableCell<XXXMODEL, String> cell = new TableCell<XXXMODEL, String>() {
@Override
public void updateItem(String item, boolean empty) {
Hyperlink text = new Hyperlink("删除");
super.updateItem(item, empty);
if (empty) {
setGraphic(null);
setText(null);
} else {
XXXMODEL XXXMODEL = getTableView().getItems().get(getIndex());
text.setOnAction(event -> {
flawData.remove(XXXMODEL);
flawList = flawList.stream().filter(e -> !e.getFlawItemId().equals(XXXMODEL.getId())).collect(Collectors.toList());
flawTable.refresh();
});
setGraphic(text);
}
}
};
return cell;
}
};
deleteCol.setCellFactory(cellFactory1);
flawTable.setItems(flawData);
flawTable.setEditable(true);
}`
实体部分
@Data
public class XXXMODEL {
private String isDelete;
}
FXML部分
<TableView fx:id="xxxTable" layoutX="928.0" layoutY="60.0" prefHeight="398.0" prefWidth="272.0" style="-fx-font-size: 18px;">
<columns>
<TableColumn fx:id="nameCol" prefWidth="128.0" text="名称" />
<TableColumn fx:id="resultCol" prefWidth="69.0" text="结果" />
<TableColumn fx:id="deleteCol" prefWidth="72.0" text="操作" />
</columns>
</TableView>