标签在Vaadin中的GridLayout上消失

时间:2014-12-30 03:37:08

标签: java label vaadin grid-layout gridlayoutmanager

当我在Label 7应用中向GridLayout添加Vaadin时,它无法显示。我将Label传递给addComponent方法。这适用于其他Layout实现,但不适用于GridLayout。

1 个答案:

答案 0 :(得分:4)

将宽度设置为未定义

将标签添加到GridLayout是一个特殊且烦人的情况。 Discussed在论坛中。从技术上讲,这是一个“功能”,而不是一个错误。

标签的宽度默认设置为100%。在GridLayout内部,Label需要具有“未定义”宽度。

此行将解决您的问题:

myLabel.setSizeUndefined();

帮助方法

我经常使用GridLayout在Vaadin中创建专业且有吸引力的布局。在GridLayout中使用Label的烦恼让我感到很沮丧,因此我创建了这种便捷方法。

static public Label makeLabelSizeUndefined ( String caption )
{
    Label label = new Label( caption );
    label.setSizeUndefined();
    return label;
} 

使用示例:

Label phoneLabel = WidgetHelper.makeLabelSizeUndefined( "Phone Number : " );