javafx tableview 添加按钮
时间: 2023-09-08 14:14:23 浏览: 117
要在JavaFX的TableView中添加按钮,可以使用自定义的TableCell。下面是一个简单的例子,其中有一个TableView,它显示一个Person对象列表,每行包括姓名、年龄和一个编辑按钮:
首先,创建一个自定义的TableCell类,例如 EditButtonTableCell,它继承自 TableCell<Person, Void>,其中 Person 是 TableView 显示数据的类型,而 Void 表示单元格没有返回值。
```java
public class EditButtonTableCell extends TableCell<Person, Void> {
private final Button editButton = new Button("Edit");
public EditButtonTableCell() {
editButton.setOnAction(event -> {
// 在这里添加按钮的点击事件处理代码
Person person = getTableView().getItems().get(getIndex());
System.out.println("Edit button clicked for " + person.getName());
});
}
@Override
protected void updateItem(Void item, boolean empty) {
super.updateItem(item, empty);
if (empty) {
setGraphic(null);
} else {
setGraphic(editButton);
}
}
}
```
然后,在TableView的列定义中使用该类:
```java
TableColumn<Person, Void> editColumn = new TableColumn<>("Edit");
editColumn.setCellFactory(param -> new EditButtonTableCell());
```
最后,将该列添加到TableView中:
```java
TableView<Person> tableView = new TableView<>();
tableView.getColumns().addAll(nameColumn, ageColumn, editColumn);
```
这样就可以在TableView中为每行添加一个编辑按钮了。
阅读全文