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 に答える