0

私は現在、JFace TableViewer をその上に持つ SWT テーブルを含む動的ダイアログを実装しようとしています。ダイアログがインスタンス化されると、動的に作成される列見出しの配列が渡され (これは既に機能しています)、値のペアを含む java.util.HashMap も渡されます。各ペアは、(「1」、行のすべてのセルのデータのように行のデータのセット) のように、1 つの行を表すことになっています。いくつかのチュートリアルから収集した限りでは、テーブル入力はコンテンツ プロバイダーの getElements() メソッドで制御されているようです。このメソッドは、setInput() が呼び出されたときに入力要素であるパラメーターを取得します。私が今のところ正しければ、セル データの異なる部分が異なるタイプ、つまり Text | 画像 | 画像 | テキスト | テキスト |。私' コンテンツ プロバイダーを理解していないか、説明されているセル構造を表す getElements() で Object[] を返す方法がわからないため、これを始める前に考えていたほど単純ではないと考えています。その上。教えてください!

4

2 に答える 2

1

コンテンツ プロバイダーは、テーブル セルのさまざまなタイプをあまり気にしていないと思います。ただし、ラベル プロバイダーは気にします。ラベル プロバイダーは、基になる入力に関するユーザーが読み取り可能な「情報」を表すためのものです。ITableLabelProviderとがpublic Image getColumnImage(final Object element, final int columnIndex)ありpublic String getColumnText(Object element, int columnIndex);ます。これらのメソッドの実装を見るとわかるように、特定のセルに列番号と実際のオブジェクトがあります。いくつかの 'instanceof's を使用すると、必要に応じてテキスト/画像を表示できます。

于 2012-04-21T17:45:09.463 に答える
0

上記のセル構造を表すgetElements()でObject[]を返す方法がわかりません。

Object[]もでありObjectObject[][](またはList<Object>[])はObject[]です。

于 2012-04-23T07:32:28.207 に答える