在我们的一个页面中,我创建了一个细节屏幕,其中一些信息被分成块。我已将HorizontalLayouts与setExpandRatio
一起用于此。以下是对此的划分方式(出于隐私原因,所有值均为黑色):
第二行的最终标签(现在包含---
)实际上应该是空的。所有的块基本上都是Vaadin标签,其中包含值。但是,这些值有时可能是null
,在这种情况下,我不想在标签中显示任何内容。
当我使用空字符串而不是---
时,它将如下所示:
正如你在第二行的最终标签上看到的那样,它现在缺少它的边框(以及我们将来可能会添加的其他样式),因为Vaadin会自动将expandRatio
标签添加为空输入为0,将宽度调为0px
。
我认识你can set the actual width of a Label as filler,但在这种情况下,这只是一个问题,即该标签中的值是否为null
。
我也尝试过一个空格作为值,但它只是忽略它并且行为与空值相同。当我" "
作为值(不将Label设置为HTML模式)时,它会在屏幕上以
字面输出。
当值null
仍然显示带边框的样式但没有值时,我可以为Label使用任何值吗?
编辑:嗯,当我使用
并将Label的ContentMode设置为HTML
时,它似乎有效。这是解决此问题的预期解决方法(这意味着我必须将所有标签的ContentMode设置为HTML,并且可能包含空值),还是通过单独更改此“空”值来实现另一种解决方法? / p>
答案 0 :(得分:0)
好的,我最终使用了编辑中提供的解决方案。对于所有这些标签,我已经创建了一个BorderedLabel
类,因此我只是向其添加了setContentMode(ContentMode.HTML);
,并在我们的util帮助器类中使用
时使用null
。