2

ウィザード ページでテーブルを作成する必要があり、TableViewer を使用して作成したいと考えています。ウィザード ページのデザインに WindowBuilderPro を使用しています。TableViewer コントロールは WindowBuilderPro のパレットで使用できますが、適切に使用する方法がわかりません。

同じものを使用した体はありますか?

よろしくお願いします!

4

1 に答える 1

3

TableViewer に内容を入力するには、次の 2 つの方法があります (JFace の TableViewer に似ています)。

  1. コンテンツ プロバイダーとラベル プロバイダーを手動で定義できます。コンテンツ プロバイダは、テーブルの各行を表す一連のオブジェクトを返す必要があります。TableLabelProvider は、返されたオブジェクトを列のテキストに変換します。コンテンツ プロバイダーとラベル プロバイダーは、左側の [プロパティ] ボックスで設定します。この場合、結果のコードは次のスニペットのようになります: http://wiki.eclipse.org/JFaceSnippets#Snippet001TableViewerまたはhttp://wiki.eclipse.org/JFaceSnippets#Snippet007FullSelection

  2. 一方、JFace Data Binding を定義してテーブルに内容を入力することもできます。この場合、すべてのコンテンツのリストを返す、対応するバインディングを定義する必要があります。さらに、前のものと同様に機能するラベル プロバイダーを作成する必要があります。

WindowBuilder で直接サポートされている新しい API を使用してテーブル コンテンツを埋める方法もあります。各列に TableViewerColumns と ColumnLabelProvider を作成することで、ラベル プロバイダーのコードをより適切に作成できます (また、この API は新しいため、新しい JFace ベースのコードには優先する必要があります) - ただし、この場合は手動でコードを作成する必要があります。Lars VogelのJFace Table チュートリアルを参照してください。

さらに、以前から JFace Viewer フレームワークを知らない場合は、JFace FAQにリストされている最初のいくつかの質問を読んで、アイデアをよりよく理解することをお勧めします (また、Lars Vogel のチュートリアルもこの理由で役に立ちます)。

于 2011-08-08T20:59:17.537 に答える