将按钮添加到TableView中的列JavaFX
问题描述:
所以,我试图使用JavaFX中的表视图添加按钮到列。我已经成功地为一列创建了一个按钮;使用相同的代码在另一列上添加另一个按钮,并在变量较小的情况下进行更改,结果导致出现一个我无法修复的错误。错误是它不允许我使用super这个词。以下是我遇到错误的代码;将按钮添加到TableView中的列JavaFX
TableColumn<UserDetails, UserDetails> addColumn = column("Add", ReadOnlyObjectWrapper<UserDetails>::new, 50);
addColumn.setCellFactory(col -> {
Button addButton = new Button("Add");
TableCell<UserDetails, UserDetails> addCell = new TableCell<UserDetails, UserDetails>() {
public void addItems(UserDetails userDetails, boolean empty) {
super.addItems(userDetails, empty); //This line is the error (super)
if (empty) {
setGraphic(null);
} else {
setGraphic(addButton);
}
}
};
addButton.setOnAction(event -> add(addCell.getItem(), primaryStage));
return addCell;
});
我做错了什么?
答
正如您在TableCell
javadoc中看到的,TableCell
中没有addItems
方法。您可能想要使用the updateItem
method:
@Override
protected void updateItem(UserDetails userDetails, boolean empty) {
super.updateItem(userDetails, empty);
...
您所面临的错误究竟是什么? – iMan