Добавьте LayoutPanel в RootPanel с помощью оболочки - PullRequest
0 голосов
/ 31 мая 2011

У меня есть следующая проблема, которая кажется довольно простой, но я потратил более 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 Ответ

2 голосов
/ 31 мая 2011

Я верю, что вы хотите создать новый виджет. Ваш класс HeaderForm должен расширять Composite, и тогда вы можете создать VerticalPanel и добавить к нему свой ярлык. Затем VerticalPanel инициализируется с помощью initWidget.

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 или напрямую добавлять другие виджеты.

Надеюсь, это решило вашу проблему :) Ура! * * 1006

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...