0

サイズ変更に適切に応答する Ext GWT で適切なレイアウトを行う方法について頭を悩ませているようには見えません。

レイアウトを宣言的に指定し、そこにコンポーネントを配置し、残りはライブラリに任せることができると思います。まだ方法がわかりません。私が本当にやりたくないのは、サイズ変更イベントごとにサブコンポーネントのサイズを計算して設定するために、コンポーネントのサイズ変更ハンドラーを作成することです。

私のアプリケーションは、ブラウザー ウィンドウ全体を埋める必要があり、多数のタブで構成されています。すべてのタブ ページは、タブ バーの後に使用可能な残りのスペースを埋める必要があります。実際、これは私が抱え続けている問題です。画面/コンポーネントの上部または左側にいくつかの固定サイズのコントロール (ツールバー、フォルダー バーなど) があり、残りのコントロールは使用可能なスペースの残りを占有する必要があります。

ビューポートを最上位コンポーネントとして使用する必要があることはすでにわかっています。おそらく、FitLayout をどこかで考慮に入れる必要があります。しかし、固定サイズのコントロールに少しのスペースを割り当て (できれば自然なサイズなので、それも指定する必要はありません)、他のコントロールに残りを占有させるには、どのようなサイズ変更対応レイアウトを使用すればよいでしょうか?

カスタム コントロールを (既存のコントロールの組み合わせとして) LayoutContainer のサブクラスとして構築しているのは正しいですか? これまでのところ、FlowLayout と固定サイズのサブコントロールで LayoutContainers を使用してきました。これはある意味では機能しますが、親コンテナーのサイズ変更に応答できません。

ライブラリがこれをどのように行うことを望んでいるかについて頭を悩ませようとしていますが、ドキュメントが不足しているようです。どんな洞察も大歓迎です。

4

2 に答える 2

0

あなたが説明するすべては私に正しい音です。ビューポートをRootPanelに追加し、カスタムコンポーネントをLayoutContainerなどのサブクラスとして作成します。

LayoutContainerを拡張する代わりにGXTCompositeを使用すると、コンテナーがカスタムコンポーネントの機能を実行するのに問題が発生する可能性があるため、問題が発生する可能性がありますが、LayoutContainerは問題ありません。

ツールバーなどをどのように追加していますか。拡張LayoutContainerに追加していますか?その場合は、代わりにLayoutContainersサブクラスContentPanelを拡張する方がよい場合があります。ContentPanelには、ツールバーに適したプレースホルダーが組み込まれています。たとえば、ContentPanel.setTopComponent(toolbar)を使用します。

于 2010-03-12T16:02:17.407 に答える
0

RowData(double width, double height) を使用した RowLayout では、動的にサイズ変更可能なレイアウトが可能です。

1 以下の値はパーセンテージとして扱われます。1 より大きい値はピクセルとして扱われます。-1 を使用して、コンポーネントの計算された高さを使用することもできます。

RowLayout を使用して、TabPanels およびその他のコンポーネントを含むサイズ変更可能なウィンドウを作成します。コンポーネントを動的に非表示/表示すると、レイアウトの問題が発生する場合があるため、親コンテナーで layout() を呼び出すリスナーを追加する必要があります。

于 2010-04-28T08:44:17.647 に答える