Javafx 细胞工厂的特性

Javafx 细胞工厂的特性,javafx,Javafx,嗨,我在这个电池工厂有点小问题: private Callback<TableColumn<Member, String>, TableCell<Member, String>> setPhotoCellFactory() { Callback<TableColumn<Member, String>, TableCell<Member, String>> callback = new Callbac

嗨,我在这个电池工厂有点小问题:

private Callback<TableColumn<Member, String>,
        TableCell<Member, String>> setPhotoCellFactory() {

    Callback<TableColumn<Member, String>, TableCell<Member, String>> callback = new Callback<TableColumn<Member, String>, TableCell<Member, String>>() {
        @Override
        public TableCell<Member, String> call(TableColumn<Member, String> param) {
            TableCell<Member, String> cell = new TableCell<Member, String>() {
                @Override
                protected void updateItem(String item, boolean empty) {
                    System.out.println(item);
                    super.updateItem(item, empty);
                    ImageView imageview = new ImageView();
                    imageview.setFitHeight(TABLE_IMAGE_MEMBER_HEIGHT);
                    imageview.setFitWidth(TABLE_IMAGE_MEMBER_WIDTH);
                    if(item != null) {
                        imageview.setImage(new Image(item));
                        setGraphic(imageview);
                    } else {
                        if(!empty) {
                            imageview.setImage(new Image(ImageFiles.GENERIC_MALE.toString()));
                            setGraphic(imageview);
                        } else {
                            setGraphic(null);
                        }
                    }
                }
            };
            return cell;
        }
    };
    return  callback;
}
添加CellValueFactory:

this.simPhotoColumn.setCellValueFactory(data -> data.getValue().photoProperty());

好的,我找到了解决办法。我的错误是在CellFactory中搜索如何设置图像。 响应是设置自定义CellValueFactory

我被替换为:

this.simPhotoColumn.setCellValueFactory(data -> data.getValue().photoProperty());
作者:

this.memberPhoto.setCellValueFactory(getPhotoValueFactory());
私有回调getPhotoValueFactory(){
Callback Callback=param->new ReadOnlyObjectWrapper(param.getValue().getPhoto());
返回回调;
}

好的,我找到了解决方案。我的错误是在CellFactory中搜索如何设置图像。 响应是设置自定义CellValueFactory

我被替换为:

this.simPhotoColumn.setCellValueFactory(data -> data.getValue().photoProperty());
作者:

this.memberPhoto.setCellValueFactory(getPhotoValueFactory());
私有回调getPhotoValueFactory(){
Callback Callback=param->new ReadOnlyObjectWrapper(param.getValue().getPhoto());
返回回调;
}

Getter?您发布的代码段不包含字符串
get
!你是对的,所以当属性为null时。。我有空作为项目。在会员课上我有一张照片。这就是我的问题…Getter?您发布的代码段不包含字符串
get
!你是对的,所以当属性为null时。。我有空作为项目。在会员课上我有一张照片。所以这是我的问题。。。
  this.memberPhoto.setCellValueFactory(getPhotoValueFactory());

private Callback<TableColumn.CellDataFeatures<Member, String>, ObservableValue<String>> getPhotoValueFactory() {
    Callback<TableColumn.CellDataFeatures<Member, String>, ObservableValue<String>> callback = param -> new ReadOnlyObjectWrapper<>(param.getValue().getPhoto());
    return callback;
}