gpt4 book ai didi

java - Vaadin Binder 中的上传组件,例如粗略编辑器

转载 作者:行者123 更新时间:2023-12-02 02:22:55 24 4
gpt4 key购买 nike

我有一个 Crud(来自 Vaadin Pro)并且想使用 BinderCrudEditor 中的上传组件。 Upload 组件不存储值(或者更确切地说,缺少 HasValue 接口(interface)),因此我无法使用 Binder。有没有办法以某种方式包含它,而无需在 Crud 中创建额外的按钮来上传文件,然后与监听器一起使用?

最佳答案

最简单的方法可能是使用 Vaadin 框架的 CustomField。您实际需要决定的是返回类型。另外,设置字段的值是一个有点尴尬的用例,具体取决于您选择返回类型的方式。因此,更多地将其作为伪代码示例。

public class UploadField extends CustomField<InputStream> {

InputStream is;
FileBuffer buffer = new FileBuffer();

public UploadField() {
Upload upload = new Upload(buffer);
upload.setAcceptedFileTypes("image/jpeg");
upload.setMaxFiles(1);
upload.addSucceededListener(event -> {
is = buffer.getInputStream();
});

add(upload);
}

public String getFileName() {
return buffer.getFileName();
}

@Override
protected InputStream generateModelValue() {
return is;
}

@Override
protected void setPresentationValue(InputStream newPresentationValue) {
}

}

关于java - Vaadin Binder 中的上传组件,例如粗略编辑器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66154593/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com