【问题标题】:GWT UiBinder HTML not showing upGWT UiBinder HTML 未显示
【发布时间】:2013-06-15 00:27:18
【问题描述】:

我正在处理我的第一个 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));
...
    }
}

【问题讨论】:

    标签: java gwt binding


    【解决方案1】:

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

    我更喜欢放在根 html 上。 那么,

    public void onModuleLoad() {
        RootPanel.get("main_port").add(maincontainer);
        ---
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-12
        • 2013-04-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多