2011-12-30 5 views
0

コンテナにRowLayoutを使用しています。レイアウトには水平方向があります。私はコンテナに高さを指定しません。私はそれが子供の高さに基づいて高さを得ることを期待しています。しかし、GXTには、明示的に高さを指定しない限り、コンテナの子はまったく表示されません。RowLayoutを使用しても親に高さが与えられない

水平方向でRowLayoutを使用するときに、高さを指定せずに高さを取得する方法はありますか?

public class RowLayoutNoHeight implements EntryPoint { 
public void onModuleLoad() { 
    ContentPanel cp = new ContentPanel(); 
    cp.setSize(300, 400); 

    final LayoutContainer innerPanel = new LayoutContainer(); 
    innerPanel.setBorders(true); 
    innerPanel.setLayout(new RowLayout(Orientation.HORIZONTAL)); 

    Text firstText = new Text("First text"); 
    Text secondText = new Text("Second text"); 

    // Here, innerPanel will not have any height. That is, I don't see the 
    // text components in the UI 
    innerPanel.add(firstText, new RowData(1, -1)); 
    innerPanel.add(secondText, new RowData(1, -1)); 

    Viewport viewPort = new Viewport(); 

    cp.add(innerPanel); 
    viewPort.add(cp); 
    RootPanel.get().add(viewPort); 
    } 
} 

GWTのバージョン - 2.4 GXTバージョン - 2.2.5 ブラウザ - IE 8とFirefox 7.0.1

おかげで、 ガネーシュ

答えて

0

あなたのinnerPanelだけでしょうレイアウトを与えていますそのパネル内のウィジェットに影響を与えるには、メインパネルの宣言後に

を追加するだけです。

+0

メインコンテナのレイアウトを設定しても効果はありません。これは、指定された高さのインナーパネルを追加した場合にのみ機能します。それはコードcp.add(innerPanel、new RowData(1,100))を使用しています。しかし、私の意図は、インナーパネルが子供の高さに応じて自動的に高さを取るようにすることです。 –

0

コンテナのレイアウトを行うことができれば、問題はすぐに消えます!

関連する問題