1

当我在我的 Vaadin 7 应用程序中添加一个LabelGridLayout没有出现。我将标签传递给addComponent方法。这适用于其他Layout实现,但不适用于 GridLayout。

4

1 回答 1

4

将宽度设置为未定义

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

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

此行将解决您的问题:

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 : " );
于 2014-12-30T03:37:08.050 回答