2010-08-31 5 views
3

У меня есть тривиальная TabLayoutPanel с UIBinder. Вкладки отображаются, но ни одно из содержимого не делает. Он находится в HTML, но он всегда рушится (встроенные стили, установленные на элементах, приводят к его краху). Насколько я могу сказать, это похоже на каждый пример TabLayoutPanel, который я видел. Другие виджеты отображаются отлично. Проект является всего лишь базовым примером, когда HTML и код по умолчанию отключены.GWT TabLayoutPanel всегда рушится

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()); 
} 

Я ошеломлен , Это должно быть тривиально легким. Мне, должно быть, не хватает чего-то глупого. Есть идеи?

ответ

6

Добавить его в RootLayoutPanel.

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

И не забудьте использовать правильный DOCTYPE в своем html.

<!DOCTYPE html> 
+0

Вздох, да, это все. RootLayoutPanel вместо RootPanel. doctype был прав. –

Смежные вопросы