ウィザード ページでテーブルを作成する必要があり、TableViewer を使用して作成したいと考えています。ウィザード ページのデザインに WindowBuilderPro を使用しています。TableViewer コントロールは WindowBuilderPro のパレットで使用できますが、適切に使用する方法がわかりません。
同じものを使用した体はありますか?
よろしくお願いします!
ウィザード ページでテーブルを作成する必要があり、TableViewer を使用して作成したいと考えています。ウィザード ページのデザインに WindowBuilderPro を使用しています。TableViewer コントロールは WindowBuilderPro のパレットで使用できますが、適切に使用する方法がわかりません。
同じものを使用した体はありますか?
よろしくお願いします!
TableViewer に内容を入力するには、次の 2 つの方法があります (JFace の TableViewer に似ています)。
コンテンツ プロバイダーとラベル プロバイダーを手動で定義できます。コンテンツ プロバイダは、テーブルの各行を表す一連のオブジェクトを返す必要があります。TableLabelProvider は、返されたオブジェクトを列のテキストに変換します。コンテンツ プロバイダーとラベル プロバイダーは、左側の [プロパティ] ボックスで設定します。この場合、結果のコードは次のスニペットのようになります: http://wiki.eclipse.org/JFaceSnippets#Snippet001TableViewerまたはhttp://wiki.eclipse.org/JFaceSnippets#Snippet007FullSelection。
一方、JFace Data Binding を定義してテーブルに内容を入力することもできます。この場合、すべてのコンテンツのリストを返す、対応するバインディングを定義する必要があります。さらに、前のものと同様に機能するラベル プロバイダーを作成する必要があります。
WindowBuilder で直接サポートされている新しい API を使用してテーブル コンテンツを埋める方法もあります。各列に TableViewerColumns と ColumnLabelProvider を作成することで、ラベル プロバイダーのコードをより適切に作成できます (また、この API は新しいため、新しい JFace ベースのコードには優先する必要があります) - ただし、この場合は手動でコードを作成する必要があります。Lars VogelのJFace Table チュートリアルを参照してください。
さらに、以前から JFace Viewer フレームワークを知らない場合は、JFace FAQにリストされている最初のいくつかの質問を読んで、アイデアをよりよく理解することをお勧めします (また、Lars Vogel のチュートリアルもこの理由で役に立ちます)。