Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javafx 2 选中JavaFX复选框表格单元格集合_Javafx 2_Javafx 8 - Fatal编程技术网

Javafx 2 选中JavaFX复选框表格单元格集合

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

如何将.setSelected(true)设置为复选框表格单元格?这样,当它出现时就会被选中。我已将我的尝试包括在下面:

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 ;
}