javafx tableview 添加勾选框
时间: 2023-09-11 18:07:19 浏览: 286
要在JavaFX的TableView中添加勾选框,可以使用JavaFX的CheckBoxTableCell类。下面是一个简单的示例代码:
首先,定义一个包含数据的类,例如:
```
public class Person {
private String name;
private boolean selected;
public Person(String name, boolean selected) {
this.name = name;
this.selected = selected;
}
public String getName() {
return name;
}
public boolean isSelected() {
return selected;
}
public void setSelected(boolean selected) {
this.selected = selected;
}
}
```
然后,在TableView中添加TableColumn,其中一个列使用CheckBoxTableCell:
```
TableColumn<Person, Boolean> selectedCol = new TableColumn<>("Selected");
selectedCol.setCellValueFactory(new PropertyValueFactory<>("selected"));
selectedCol.setCellFactory(CheckBoxTableCell.forTableColumn(selectedCol));
```
最后,将数据添加到TableView中:
```
TableView<Person> tableView = new TableView<>();
ObservableList<Person> data = FXCollections.observableArrayList(
new Person("John", true),
new Person("Jane", false),
new Person("Bob", true)
);
tableView.setItems(data);
tableView.getColumns().addAll(selectedCol, nameCol);
```
这样,TableView中就会显示一个勾选框列,用户可以选择或取消选择每一行。
阅读全文