javafx tableview 添加按钮
时间: 2023-09-20 09:03:40 浏览: 100
要在JavaFX的TableView中添加按钮,你可以使用TableColumn的setCellFactory方法来设置一个自定义的TableCell,然后在该TableCell中添加按钮。
下面是一个简单的示例代码,其中包含一个名为"Action"的按钮列:
```java
TableColumn<Person, Void> actionColumn = new TableColumn<>("Action");
// 设置按钮列的cell factory
actionColumn.setCellFactory(col -> {
TableCell<Person, Void> cell = new TableCell<Person, Void>() {
private final Button btn = new Button("Action");
{
// 设置按钮的操作
btn.setOnAction(event -> {
Person person = getTableView().getItems().get(getIndex());
System.out.println("Perform action on " + person.getName());
});
}
@Override
public void updateItem(Void item, boolean empty) {
super.updateItem(item, empty);
if (empty) {
setGraphic(null);
} else {
setGraphic(btn);
}
}
};
return cell;
});
// 将按钮列添加到TableView中
tableView.getColumns().add(actionColumn);
```
在这个示例中,我们创建了一个名为"Action"的按钮列,并使用setCellFactory方法设置了一个自定义的TableCell。在TableCell中,我们创建了一个名为"Action"的按钮,并设置了它的操作。然后,我们在updateItem方法中根据单元格是否为空来设置按钮的图形。最后,我们将该按钮列添加到TableView中。
希望这个例子能对你有所帮助!
阅读全文