GWT TabLayoutPanel всегда свернут - PullRequest
3 голосов
/ 31 августа 2010

У меня есть тривиальная панель TabLayout, созданная с помощью UIBinder. Вкладки отображаются, но не содержимое. Он находится в 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());
 }

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

1 Ответ

6 голосов
/ 01 сентября 2010

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

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

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

<!DOCTYPE html>
...