GWT RootPanel按ID获取

时间:2013-03-20 19:29:44

标签: gwt

我是GWT的新手,我可能会忽略一些简单的事情。所以我想要做的是在我的html页面中,我在body标签中为我的页面创建了一个布局:

<table id="wrapper" cellpadding="0" cellspacing="0" style="width: 100%;height: 100%;">

         <!-- Header row -->
         <tr style="height: 25%;">
             <td colspan="2" id="header"></td>
         </tr>

         <!-- Body row and left nav row -->
         <tr style="height: 65%;">
             <td id="leftnav"></td>
             <td id="content"></td>
         </tr>

         <!-- Footer row -->
         <tr style="height: 10%;">
            <td colspan="2" id="footer"></td>
         </tr>

</table

我已将Ids设置为所有内容,以便我可以在入口点获取这些项目。所以在我的入口点我尝试填充这些字段:

RootPanel.get("header").add(new Header());
RootPanel.get("leftnav").add(new NavigationMenu());
RootPanel.get("footer").add(new Footer());

但是我通过调试了解到RootPanel.get(&#34; header&#34;)返回null。我确信其余的都返回null,它只是在它到达之前崩溃。据我所知,这是做事的正确方法,但我一定错过了一些东西。请让我知道我做错了什么或者你需要更多信息。感谢

2 个答案:

答案 0 :(得分:1)

尝试在HTML中使用div标签:

<table id="wrapper" cellpadding="0" cellspacing="0" style="width: 100%;height: 100%;">

         <!-- Header row -->
         <tr style="height: 25%;">
             <td colspan="2"><div id="header"></div></td>
         </tr>

         <!-- Body row and left nav row -->
         <tr style="height: 65%;">
             <td><div id="leftnav"></div></td>
             <td><div id="content"></div></td>
         </tr>

         <!-- Footer row -->
         <tr style="height: 10%;">
            <td colspan="2"><div id="footer"></div></td>
         </tr>

</table

答案 1 :(得分:1)

通常使用div标记比其他类型的元素(例如<td>)更有效。就像评论所说的那样,你应该尝试使用一个RootPanel,然后添加然后使用GWT面板创建你的布局。

使用UiBinder布局HTML页面等页面的一种非常好的方法。您可以使用非常接近HTML的XML语言编写布局,同时使用所有有用的GWT小部件。如果您要使用GWT构建应用程序,那么使用和学习非常有用。