3

我有一个用 UIBinder 制作的简单的 TabLayoutPanel。选项卡呈现,但没有任何内容。它在 HTML 中,但它总是折叠的(在元素上设置的内联样式使其折叠)。据我所知,这与我见过的每个 TabLayoutPanel 示例相同。其他小部件渲染良好。该项目只是去掉了默认 HTML 和代码的基本示例。

XML 是:

<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
 xmlns:g="urn:import:com.google.gwt.user.client.ui">
 <g:TabLayoutPanel barHeight='22' barUnit='PX'>
  <g:tab>
   <g:header>Tab A</g:header>
   <g:HTML>
   asdf
   <p>asdfasdf</p>
   </g:HTML>
  </g:tab>
  <g:tab>
   <g:header>Tab B</g:header>
   <g:Label>blah</g:Label>
  </g:tab>
  <g:tab>
   <g:header>Tab C</g:header>
   <g:Label>blah</g:Label>
  </g:tab>
 </g:TabLayoutPanel>
</ui:UiBinder>

Java是:

public class Main extends Composite {

 private static MainUiBinder uiBinder = GWT.create(MainUiBinder.class);

 interface MainUiBinder extends UiBinder<Widget, Main> {
 }

 public Main() {
  initWidget(uiBinder.createAndBindUi(this));
 }
}

我像这样将它添加到我的应用程序中:

public void onModuleLoad() {
  RootPanel.get().add(new Main());
 }

我惊呆了。这应该很容易。我一定错过了一些愚蠢的东西。有任何想法吗?

4

1 回答 1

6

将其添加到 RootLayoutPanel。

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

并且不要忘记在您的 html 中使用正确的 DOCTYPE。

<!DOCTYPE html>
于 2010-08-31T20:03:13.353 回答