2009-11-03 17 views
7

Newbie Alert:Określanie komórki poziomego panelu

Wściekle szukałem sposobu na zmierzenie konkretnej komórki w HorizontalPanel.

Co próbuję zrobić, to zaimplementować poziomy panel 2-komorowy i ustawić lewą komórkę na 200px. Staram się jednak, aby właściwa komórka wypełniała resztę okna, a nie zawartość komórek.

Nie widzę drewna na drzewach, pomóż ...

Odpowiedz

9
  HorizontalPanel horizontalPanel=new HorizontalPanel(); 
     horizontalPanel.setWidth("100%"); 
     Widget widget1=new Widget(); 
     Widget widget2=new Widget(); 
     horizontalPanel.add(widget1); 
     horizontalPanel.add(widget2); 
     horizontalPanel.setCellWidth(widget1,"200"); 

W powyższym kodzie, jeśli szerokość WIDGET2 jest ustawiona na 100%, następnie WIDGET2 wypełni resztę window.If szerokość WIDGET2 za nie jest w 100% nie wypełni reszty okna. Wystarczy sprawdzić szerokość drugiej zawartości komórki.Nie powinno być 100%.

+0

Tylko jeden dodatkowy szczegół, którego powinieneś/powinnaś: jeśli widget w drugiej komórce bazuje na DIV, to będzie miał 100% szerokości, więc zmieni rozmiar za pomocą okna. –

3

Lub jeśli robisz to z UiBinder:

<g:HorizontalPanel width="100%"> 
    <g:cell width="200"> 
     <!-- Stuff --> 
    </g:cell> 
    <g:cell> 
     <!-- More Stuff --> 
    </g:cell> 
</g:HorizontalPanel> 
5

znalazłem potrzebne do dostrojenia odpowiedź Damo nieznacznie do tej pracy. Musisz ustawić jawny rozmiar widgetu w pierwszej komórce. Ale następnie ustaw drugą komórkę na szerokość 100%.

<g:HorizontalPanel width="100%"> 
    <g:cell> 
     <g:SimplePanel width="200px"/> 
    </g:cell> 
    <g:cell width="100%"> 
     <g:SimplePanel width="100%"/> 
    </g:cell> 
</g:HorizontalPanel> 
Powiązane problemy