0

在我的第一个 GWT 项目上工作,但在使用 UiBinder 时遇到了一些问题。当我加载我的模块时,甚至没有显示 HTML,我只看到一个空白页面。有谁知道为什么?我遗漏了什么?

我还没有掌握面板的概念,RootPanel是ScrollPanel吗?还是 mainPanel 因为我给了它一个标识符?

编辑:我遇到了错误:这个面板不支持无参数添加。该错误并没有说明是哪一个。关于如何获得我想要的布局的任何提示?

提前致谢。

UiBinder 类 DoraTheExplora.ui.xml:

<g:ScrollPanel>
    <g:VerticalPanel ui:field="mainPanel">
    <!-- Header of Dora website -->
    <g:HorizontalPanel ui:field="headerPanel">
    <g:HTMLPanel styleName="{resource.style.siteHeader}">
        Welcome to Dora!
    </g:HTMLPanel>
...

入口点类:

...
public void onModuleLoad() {
    RootLayoutPanel.get().add(new DoraTheExplora());
}
...

DoraTheExplora 类:

...
public class DoraTheExplora extends Composite {

// UIBinder instance.
@UiTemplate("DoraTheExplora.ui.xml")
interface DoraTheExploraUiBinder extends UiBinder<Widget, DoraTheExplora> {
}
private static DoraTheExploraUiBinder uiBinder = GWT.create(DoraTheExploraUiBinder.class);

@UiField
VerticalPanel mainPanel;
@UiField
HorizontalPanel headerPanel;
...

public DoraTheExplora() {
    initWidget(uiBinder.createAndBindUi(this));
...
    }
}
4

2 回答 2

1

GWT RootPanel 是所有其他小部件都附加到的起始面板或最顶层面板。永远不会直接创建 RootPanel。相反,它们是通过 get() 或 get(id) 访问的。

我更喜欢放在根 html 上。然后,

public void onModuleLoad() {
    RootPanel.get("main_port").add(maincontainer);
    ---
于 2022-01-27T19:47:33.083 回答
0

我想到了。我有一个嵌套在我的 ui.xml 文件中的 FlexTable,它抛出了 no-args 错误。

我以为它与根面板有关,但我错了。如果有人仍然想向我解释根面板的概念,将不胜感激!

于 2013-06-15T01:48:15.897 回答