1

私の最後のプロジェクトでは、Singleton クラスを作成し、Swing を使用して TableModel を作成し、入力されたテーブルをベース ダイアログ クラスに追加しました。

ただし、私の新しいプロジェクトでは、Swing の代わりに SWT を使用する必要があります。残念ながら、私は SWT についてほとんど何も知りません。

Table クラス (SelectionsTable.java) を作成できるようにしたいです。テーブル クラスでは、4 つの列を持ち、配列リストから行の値を入力する単純なテーブルを作成できるようにしたいと考えています。

テーブルを BaseDialog クラスに渡す方法については後で考えます。

どんな助けでも大歓迎です。

4

2 に答える 2

3

eclipse hereから直接得られる本当に優れたコード スニペットがあります。あなたにとって最も興味深いものは、これであるはずです: create a table (columns, headers, lines)。複数の列、ヘッダー、および行を持つテーブルを作成する方法を示します。

あなたは Java に精通しているように見えるので、これを目的に合わせて使用​​する方法を理解できるはずです。

TableViewerを適切に使用したい場合は、 VogellaContentProviderによるこの優れたチュートリアルをご覧ください。

于 2012-08-21T19:24:53.513 に答える
1

ContentProvider は、TableViewer に入力を提供するモデルのようなものです。(テーブルのモデル)

LabelProvider は、テーブル セルに表示する画像とテキストを提供するクラスです。(Swing の getValueAt() に似ています)

  1. ダイアログで TableViewer を作成します
  2. tableviewer の TableViewerColumn (各列) を作成し、TableViewerColumn に LabelProvider() を設定します。LabelProvider.getImage() LabelProvider.getText() は、コンテンツ プロバイダがこの列に提供する行オブジェクトごとに呼び出されます。

  3. setviewer.setContentProvider()

これがどのように機能するかです: TableViewer は最初にそのコンテンツ プロバイダーから入力を取得します。コンテンツ プロバイダが RowObjects のリストを返すとしましょう。RowObject ごとに、各 TableViewerColumn のラベル プロバイダーが呼び出され、その特定のセル位置 (Swing の colIndex、RowIndex など) に画像とテキストが表示されます。

于 2012-08-22T18:27:52.507 に答える