我有以下似乎很简单的问题,但我已经花了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);
}


....之后,我们应该看到标签文本,对吗?但是什么都没有

如果我做同样的事情但直接没有包装类的话,这对我来说很奇怪……它很好用。

请,建议..如此简单,但不起作用。

最佳答案

我相信您想要做的是创建一个新的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或直接向其添加其他小部件。

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

10-08 03:29