次の違いは何ですか:
- TreeViewer&Tree
- TableViewer&Table
- TreeViewerColumn&TreeColumn
- TableViewerColumn&TableColumn
ビューアと通常のウィジェットをいつ使用するのですか?
PS:それらを理解するための良いリソースを見つけるのを手伝っていただければ、とても助かります。よろしくお願いします。
次の違いは何ですか:
ビューアと通常のウィジェットをいつ使用するのですか?
PS:それらを理解するための良いリソースを見つけるのを手伝っていただければ、とても助かります。よろしくお願いします。
質問に「JFaceはSWTに何を追加しますか?」というタイトルを付けることができます。
ビューアはJFaceから、ウィジェットはSWTからです。
要約すると、JFaceを使用すると、ウィジェットを簡単に操作してGUIに挿入できます。JFaceは、静的ウィジェットに動作を追加するためにSWTウィジェット要素を操作するという煩わしさから解放されます。SWTはリスナーを提供するだけです。JFaceはこれらのリスナーを使用して、実世界のモデルとそのSWT表現の間のマッピングに集中できるようにします。
あなたがリストした特定の例でそれを見てみましょう。
標準のSWTウィジェットを作成する場合は、ツリーのコンテンツを記述し(1つ以上の最上位アイテムを設定し、いくつかのTreeItemを各ルートにフックし、場合によっては選択リスナーを追加します)、すべての遷移を管理する必要があります。そのツリーにはロジックがほとんど組み込まれていません。折りたたみ/展開と選択リスナーだけです。限目。
それは静的ツリーになります。
TreeViewerを使用すると、そのツリーにさまざまな種類の動作を挿入できます。つまり、ツリーの設定方法、フィルタリング方法、TreeItemのラベル付け方法です。
これを行うには、適切に指定されたインターフェイスを満たすクラスを登録します(たとえば、ILabelProviderを使用すると、TreeItemラベルをフォルダー内のファイル名にマップできます)。
TreeViewerがなければ、適切なレスポンシブツリーを構築するのは大変な作業になります。要約すると、基礎となる実世界の階層モデルをSWTツリー表現に簡単にマッピングできます。
TableViewerについても同じことが言えます。TableViewerを使用すると、テーブルにカスタム動作を追加できます。たとえば、セルをどのように編集しますか。
TreeViewerColumn。ずっと前(3.3より前)、SWTツリーには列がありませんでした。ツリーには列がありませんでしたテーブルには列がありましたが、展開/崩壊しませんでした。3.3以降、ツリーに列を追加できます。上記と同様の理由でTreeColumnをTreeに追加するだけでなく(まだ実行する必要があります)、TreeViewerColumnをTreeViewerに追加することで、これをより適切に行うことができます。列セルのコンテンツを編集するためのサポートを追加できます。そして、列にデータを入力できます(ラベルプロバイダーを再度作成することにより)。
TableViewerColumn。TableViewersについても同じことが言えます。エディションとコンテンツの管理が追加されます。
SWT / JFaceのドキュメントについては、をご覧ください。
SWTに属していないJFaceに属する視聴者は、先に進むために、GoogleでJFaceチュートリアルを検索すると、多くの例が見つかります。
スティーブ・ノースオーバーの本(父SWT)「SWT:標準ウィジェットツールキット、第1巻」(AFAIKにはまだ第2巻はありません)。
EricClaybergとDanRubeによる「Eclipse:BuildingCommercial-QualityPlug-ins」。エリックは現在GoogleVPであり、 WindowBuilderProの父です。
SWTスニペットは、SWTオブジェクトをマスターするためのファストトラックでもあります。
他の良い本は次のとおりです