2012-05-09 15 views
1

以下のGWTパネルとウィジェットの基本的な関係を結論付けるのは安全ですか?GWTパネルとウィジェット

  • GWTパネルは、子パネルまたは子ウィジェットを含む親DOMノードに変換されます。
  • GWTウィジェットは、単なる自己完結型のリーフDOMノードに変換されます。
  • GWT RootPanelは、他のすべてのパネルとウィジェットのルートコンテナとしてのみ機能する必要があります。

答えて

2

すべてのGWTウィジェットインスタンスには(getElement()を呼び出して到達可能な)要素があり、パネルは単にウィジェットの一種であり、基本要素を持っています。ほとんどのウィジェットは仕事をするために多くのコンテンツを作成します(例えば、CheckBoxはspanで、inputlabelの両方)、パネルに複数の要素が必要な場合があります。

ウィジェットは、これがDOMの配置方法であるだけでなく、DOMからのウィジェットの接続や切り離しを追跡するためだけでなく、他のウィジェットにも追加されます。とりわけ、実際にアタッチされている場合にのみイベントハンドラを配線し、ページの一部でなくなったときにアタッチすることができます。

RootPanelは、既存の要素、本文自体、または指定されたIDを持つ要素のいずれかを表す特別なウィジェットです。複数のRootPanelが存在する可能性がありますが、入れ子にしてはいけません。 (つまり、正確に1つのRootLayoutPanelしかないかもしれません.RootPanelは、ブラウザのサイズ情報を子レイアウトパネルに渡す特殊なルートパネルです)。

これは、あなたが後にしたアイデアと同じかもしれませんが、私はウィジェットが頻繁に単一のDOMノード以上であることを明確にしたかったのです。ここで

3

は、GWTの階層です:

GWT hierarchy

パネルもウィジェットです。パネルは、他のウィジェットやパネルを含むことができるウィジェットです。一般的にはレイアウトのために使用され、直接関連するデータはほとんどありません。たとえば、DisclosurePanelはヘッダーにデータを、TabPanelのタブにデータを格納できます。 HTMLのtable要素(例:HorizontalPanel)に基づくものと、divというタグに基づくものがあります。

RootPanelは、他のウィジェットを含むパネルです。このパネルは包含階層の最上部にあります。デフォルトでは、ホストページのタグbodyをラップします。 RootPanelには、任意の数のウィジェットを含めることができます。これらのウィジェットは、自然なHTML順序でレイアウトされます。

docsを参照してください。

関連する問題