Javafx 2 选中JavaFX复选框表格单元格集合
如何将.setSelected(true)设置为复选框表格单元格?这样,当它出现时就会被选中。我已将我的尝试包括在下面:Javafx 2 选中JavaFX复选框表格单元格集合,javafx-2,javafx-8,Javafx 2,Javafx 8,如何将.setSelected(true)设置为复选框表格单元格?这样,当它出现时就会被选中。我已将我的尝试包括在下面: TableColumn decemberCol = new TableColumn(); decemberCol.setCellFactory(new PropertyValueFactory<>("december")); decemberCol.setCellFactory(new Callback<TableColumn<Month, Boole
TableColumn decemberCol = new TableColumn();
decemberCol.setCellFactory(new PropertyValueFactory<>("december"));
decemberCol.setCellFactory(new Callback<TableColumn<Month, Boolean>, TableCell<Month, Boolean>>() {
@Override
public TableCell<Month, Boolean> call(TableColumn<Month, Boolean> getSelectedProperty) {
return new CheckBoxTableCell<>();
}
});
ObservableList<Month> data = FXCollections.observableArrayList();
data.add(new Month(true));
使用静态方法
CheckBoxTableCell.forTableColumn(…)
,该方法将返回绑定(双向)到列的单元格值的CheckBoxTableCell
。您可能还需要在Month
类中定义属性访问器方法:
TableColumn decemberCol = new TableColumn();
decemberCol.setCellFactory(new PropertyValueFactory<>("december"));
decemberCol.setCellFactory(CheckBoxTableCell.forTableColumn(decemberCol));
ObservableList<Month> data = FXCollections.observableArrayList();
data.add(new Month(true));
我认为getDecember应该是isDecember。尽管更常见的是
isDecember
,但这两种方法都可以。
TableColumn decemberCol = new TableColumn();
decemberCol.setCellFactory(new PropertyValueFactory<>("december"));
decemberCol.setCellFactory(CheckBoxTableCell.forTableColumn(decemberCol));
ObservableList<Month> data = FXCollections.observableArrayList();
data.add(new Month(true));
public Month(Boolean december){
this.december = new SimpleBooleanProperty(december);
}
public Boolean getDecember(){
return december.get();
}
public void setDecember(Boolean newValue){
december.set(newValue);
}
public BooleanProperty decemberProperty() {
return december ;
}