1

一部の OS (私の Ubuntu 11.10 など) では、興味深いテーブル要素の動作があります。背景色が白から灰色に変わります (1 番目の要素は白、2 番目は灰色、3 番目は白など)。

私のアプリケーションでは、 (必要な) CellLabelProviderfor を独自に作成したいと考えており、クラスの拡張(およびペイント メソッドの上書き) を使用しています。JFace TableViewerOwnerDrawLabelProvider

指定した行を独自の色で塗りつぶし、その他をシステム カラーで塗りつぶしたいのです(Display.getCurrent().getSystemColor(...))が、問題は、 で塗りつぶすと、SWT.COLOR_LIST_BACKGROUNDすべての行が交互に白く塗りつぶされることです。どうすれば設定できますか?

私はアプリケーションをデバッグし、両方のタイプの raw (白と灰色) が同じ色 - 白 (そしてそれは正しい) を持っていることに気付きました。

4

1 に答える 1

2

OS のように明示的に「所有者描画」する方法はありません。行に本来の背景色を持たせたい場合は、自分で背景をペイントしてはいけません。

于 2012-05-22T07:36:58.117 に答える