3

JFace に列イメージがありTableViewerます。残念ながら、列の画像は 16 ピクセルの幅しか許可されていないようです。これは小さすぎて 2 つの画像を表示できません。32px の画像で試してみましたが、16px x 16px の画像に圧縮されました。2 つの画像を自動的にオーバーレイするために使用できるデコレータがあるかもしれません。

これを行う可能性はありますか?

4

2 に答える 2

3

CompositeImageDescriptorでこれを行うことができます。

于 2012-11-26T12:39:19.223 に答える
1

を使用Imageして、任意のサイズのを描画できます。TableViewerOwnerDrawLabelProvider

次に、次の方法で自分で画像をペイントする必要があります。

protected void paint(Event event, Object element)

メソッドでテーブルのセルサイズを定義します。

protected void measure(Event event, Object element)

ここサンプルコードを含むVogellaによる素晴らしいチュートリアルがあります。

結果は次のようになります。

ここに画像の説明を入力してください

画像をオーバーレイする場合は、のアルファを。GCで半透明に設定しGC#setAlpha(int)ます。

于 2012-11-26T10:18:01.463 に答える