java - vaadin 表单无法隐藏空字段

标签 java forms user-interface field vaadin

我有一些 vaadin 表单,会在事件发生后重新加载。该事件导致某些字段变为空。这意味着表单显示字段的标签和“null”。我希望标签和“null”值在事件加载后消失。我还想在不加载不同表单以用空值替换表单的情况下执行此操作。

我有以下表单构造函数:

   public IInfoForm(Info info) {
    List<Object> orderedProperties =Arrays.asList(InfoContainer.DISPLAYED_FIELDS);
    setItemDataSource(new BeanItem(idInfo), orderedProperties);

信息容器从 Web 服务检索数据,DISPLAYED_FIELDS 列出要显示的字段。
我尝试寻找要在表单字段上设置的属性,但无济于事。

最佳答案

您可以为任何字段设置一个代表空值的特殊值。示例:

TextField textfield = new TextField();
textfield.setNullRepresentation("abc");

因此,文本字段中表示的是“abc”,而不是 null。

自己创建字段并添加它们或将FieldFactory添加到表单中。

Form form = new Form();
form.setFormFieldFactory(new FormFieldFactory() {
    public Field createField(Item item, Object propertyId,
            Component uiContext) {
        Field field = DefaultFieldFactory.get().createField(item,
                propertyId, uiContext);
        if (field instanceof TextField) {
            ((TextField) field).setNullRepresentation("abc");
        }
        return field;
    }
});

关于java - vaadin 表单无法隐藏空字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10321066/

相关文章:

java - 将程序的输出写入文件

javascript - Jquery form.serialize() 无法正确管理复选框

Python tkinter 菜单+变量

user-interface - 是否有 Silktest 的免费替代品?

java - 更新到 API 27 后 RecyclerView Adapter 出现问题

java - 使用 2-way SSL Handskake(客户端和服务器证书)设置 Netty

java - SQL 请求类型

python - 表单提交未收到多个 html 选择

css - 如何将 2 div 与表单对齐

Java GUI 布局问题