0

GWT のパフォーマンスに関する Google I/O のビデオを見たところ、セル ウィジェットは通常のウィジェットよりも高速で軽量であるため、可能な限り使用することが推奨されていました。

次のいずれかを使用する必要があるかどうかを判断しようとしています。

  • com.google.gwt.user.client.ui.Button(ボタンウィジェット); また
  • com.google.gwt.cell.client.ButtonCell(セルウィジェット)

ウィジェットとセルに関するやや矛盾する文献を読んだことがあります。一部の著者は、応答する必要のあるイベントがない場合にのみセルを使用すると述べています。

セル ウィジェットにはハンドラーがなく、イベントに応答できないというのは本当ですか? ButtonCellだとしたら、きっとクリックされるのは何の役に立つ!そして、それが真実でない場合、セルウィジェットは「古い」ウィジェットフレームワークの完全な代替品であるように思えます-それは本当ですか、それとも他の「古い」ウィジェットの類似の使用例がまだありますButtonか?

4

1 に答える 1

2

厳密に言えば、ButtonCellは「セルウィジェット」ではなく、「セル」であり、CellListやCellTableなどのセルウィジェットがコンテンツをレンダリングするために使用します。

大量の同様の構造のデータ(リスト/テーブル)を表示するため、およびそのようなテーブルで特定の「セル」をレンダリングするために使用されるセルウィジェット-これらの軽量のステートレスウィジェット(ButtonCell、TextCell)を使用する必要があります。利点は、結果として得られるdom要素とJSの量が少ないことから得られます。また、CellWidgetsは引き続きブラウザイベントを受信できますが、明示的に指定する必要があります。このトピックの詳細-公式のGoogleガイドを参照してください。

セルウィジェットを使用しない場合(たとえば、ユーザー入力フォームを作成していくつかのラベルとボタンを配置する場合は、セルを使用する必要はありません)、のリストを表示する必要がある場合は、ラベルウィジェットとボタンウィジェットを使用します。 >100行-CellListウィジェット内でTextCellとButtonCellを使用することをお勧めします。

于 2012-10-31T00:13:32.830 に答える