2009-11-03 24 views
7

Avviso per principianti:Dimensionamento di una cella HorizontalPanel

Ho cercato furiosamente un modo per ridimensionare una particolare cella di un HorizontalPanel.

Quello che sto cercando di fare è implementare un pannello orizzontale a 2 celle e impostare la cella di sinistra per dire 200px. Tuttavia, sto cercando di fare in modo che la cella a destra riempia il resto della finestra, non il suo contenuto di celle.

non riesco a vedere il legno per gli alberi, si prega di aiuto ...

risposta

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

Nel codice di cui sopra, se la larghezza della widget2 è impostato su 100%, allora widget2 riempirà resto del window.If larghezza della widget2 non è al 100% non riempirà il resto della finestra. Basta controllare la larghezza del contenuto della seconda cella. Non dovrebbe essere al 100%.

+0

Solo un dettaglio in più si dovrebbe cosa: se il widget nella seconda cella è basato su un DIV allora sarà al 100% la larghezza in modo che si ridimensiona con la finestra. –

3

Oppure, se si sta facendo questo con UiBinder:

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

ho trovato avevo bisogno di modificare un po 'la risposta di Damo per fare questo lavoro. Devi impostare la dimensione esplicita del widget nella prima cella. Ma poi imposta la seconda cella con una larghezza del 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> 
Problemi correlati