通过包装器将LayoutPanel添加到RootPanel

时间:2011-05-31 12:52:10

标签: java gwt layout

我有以下问题,这似乎很简单,但我花了2个多小时,无法解决。

请看以下示例。

public class HeaderForm extends VerticalPanel
{
public HeaderForm()
{
Label label = new Label("Some text here which should be visible");
   this.add(lable);

}
}

这是切入点

public class SomeApp implements EntryPoint
{

public void onModuleLoad()
{

 HeaderForm instance = new HeaderForm();
 RootPanel.get().add(instance);
}

....之后我们应该看到标签文字吧?但没什么......

对我来说这很奇怪,如果我这样做但直接没有包装类...它工作正常。

请,建议..这么简单,但不起作用。

1 个答案:

答案 0 :(得分:2)

我相信你想要做的是创建一个新的Widget。 你的类HeaderForm应该扩展Composite,然后你可以创建一个VerticalPanel并添加你的标签。 然后使用initWidget初始化VerticalPanel。

public class HeaderForm extends Composite
{
 public HeaderForm()
 {
    VerticalPanel verticalPanel = new VerticalPanel();
    Label label = new Label("Some text here which should be visible");
    verticalPanel.add(label);
    initWidget(verticalPanel);
 }
}

您现在可以在EntryPoint中创建自定义窗口小部件的实例。 如果我犯了任何错误,请纠正我。 如果要向VerticalPanel添加其他内容,可以创建一个函数来返回VerticalPanel或直接向其添加其他小部件。

希望这解决了你的问题:) 干杯!