2010-08-31 17 views
3

J'ai un TabLayoutPanel trivial avec un UIBinder. Les onglets sont rendus mais aucun contenu ne le fait. C'est dans le HTML, mais il est toujours réduit (les styles en ligne définis sur les éléments le font s'effondrer). Autant que je sache, ceci est identique à tous les exemples de TabLayoutPanel que j'ai vus. D'autres widgets sont très bien rendus. Le projet est juste l'exemple de base avec le code HTML par défaut et le code retiré.GWT TabLayoutPanel est toujours réduit

Le XML est:

<!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> 

Et Java est:

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

Et j'ajouter à mon application comme ceci:

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

Je suis abasourdi . Cela devrait être trivialement facile. Je dois manquer quelque chose de stupide. Des idées?

Répondre

6

Ajoutez-le à RootLayoutPanel.

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

Et n'oubliez pas d'utiliser DOCTYPE correct dans votre code html.

<!DOCTYPE html> 
+0

Soupir, oui, c'était tout. RootLayoutPanel au lieu de RootPanel. doctype était correct. –