1

ExtGwt で小さなアプリケーションを作成しているときに、次のような問題に遭遇しました。

ContentPanel のコンテンツを水平方向 (および水平方向のみ) の中央に配置する方法はありますか?

私は1つの解決策が使用することであることを知っています:

ContentPanel panel = new ContentPanel();
panel.setLayout(new CenterLayout());
//but here is the problem, I MUST set the size of panel
panel.setSize(400, 200);

ただし、さまざまな場所でコンテンツが異なるため、このパネルには動的に計算された高さが必要です。

もう 1 つは UIBinder を使用することですが、それもどういうわけか良い考えではありません。

誰でもそのような解決策を達成する方法を知っていますか?

4

1 に答える 1

1

ContentPanelでコンテナ内をレイアウトしFitLayoutます。そうすれば、ContentPanelのサイズは常に管理され、サイズを指定する必要がなくなります。

public class ContentPanelContainer extends LayoutContainer {

    @Override
    protected void onRender(Element parent, int index) {
        super.onRender(parent, index);

        setLayout(new FitLayout());

        ContentPanel panel = new ContentPanel();
        panel.setLayout(new CenterLayout());

        add(panel);
    }    
}
于 2012-05-07T16:30:43.963 に答える