我有一个用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());
}
我很惊讶。这应该很简单。我一定是想念一些愚蠢的事。有什么想法吗?
答案 0 :(得分:6)
将其添加到RootLayoutPanel。
public void onModuleLoad() {
RootLayoutPanel.get().add(new Main());
}
不要忘记在你的HTML中使用正确的DOCTYPE。
<!DOCTYPE html>