当我在Label
7应用中向GridLayout
添加Vaadin时,它无法显示。我将Label传递给addComponent
方法。这适用于其他Layout
实现,但不适用于GridLayout。
答案 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 : " );