2012-01-02 2 views
1

1つのサブパネル以外のすべての絶対サイズを指定する必要があるようです。例えば、GWT docsから:GWT DockLayoutPanelブラウザがいくつかのサブパネルのサイズを決定していますか?

DockLayoutPanel p = new DockLayoutPanel(Unit.EM); 
p.addNorth(new HTML("header"), 2); 
p.addSouth(new HTML("footer"), 2); 
p.addWest(new HTML("navigation"), 10); 
p.add(new HTML(content)); 

しかし、私は、ブラウザによってサイズ北側パネルをしたいです。私はそれにいくつかのテキストやボタンを入れて、私はちょうどそれが比較的薄く、ページの上部にあることを知っています。私はコンテンツが残りのスペースを占めるようにしたいが、ブラウザのスクロールバーは存在しない。これらの新しいレイアウトパネルでこれを処理する方法はありますか?

今私が古いパネルを使用していて、すべてがWindow.getClientHeight

更新内に収まるように、私はメインのコンテンツ領域の高さを設定Window.addResizeHandlerを添付ハンドラを持っている:

トーマスはHeaderPanel内部DockLayoutPanelを示唆したが、これは私のために働いていません。

<g:HeaderPanel> 
<g:Label>Header top</g:Label> 
<g:DockLayoutPanel unit='PX'> 
    <g:west size='300'> 
    <g:Label>West</g:Label> 
    </g:west> 
    <g:center> 
    <g:Label>Center</g:Label> 
    </g:center> 
</g:DockLayoutPanel> 
</g:HeaderPanel> 

「ヘッダ・トップ」があります、目に見えない。内側のdivの高さが0になっているようです。

+0

こんにちは、これはどのような解決策を見つけましたか?私は同じ種類のことをやろうとしています。私はすでにこの問題に時間を浪費しています。乾杯。 – Guillaume

+0

私は、サイズ変更ハンドラを使用して手動で自分で計算してサイズを変更する必要があったと思います。私はGWTを放棄して以来。 –

+0

ありがとうございます。私は同じことができるといいと思う:) – Guillaume

答えて

1

(あなたはそれがその自然な高さを使用したくない場合は、あまりにも、おそらく、西および中央地域に南1)をあなたは北の自然なサイズのために(HeaderPanelDockLayoutPanelを置く必要があります地域)

+0

私はこれを実験し、ここで報告します。 'HeaderPanel'は私自身が望むことをするかもしれませんが、一見すると、' ProvidesResize'は実装されていません。これは、 'DockLayoutPanel'を含むことができないと考えていました。 –

+0

はい、ヘッダーとフッターウィジェットのサイズを変更しないので、 'ProvidesResize'を実装しません。 'RequiresResize'を実装している場合は、その中心ウィジェット上でsetSize()を呼び出します。 –

+0

これは、ありがとう、働いています。今私はそのコンテンツ領域内のScrollPanelに高さの制限を伝播する必要がありますが、私はそれが別のSOの質問になることを理解できない場合... –