2017-05-12 5 views
2

複数行にOwnerDrawLabelProviderのJfaceテーブルビューアを使用しています。これで、行に別の色を追加したいと思います。私はcolLabelProviderを使ってみましたが、それはOwnerDrawLabelProviderを上書きしています。私はどのように両方を達成するのですか?Jfaceテーブルビューアで行に別の色を追加する方法

ありがとうございます!

答えて

2

OwnerDrawLabelProviderを使用している場合は、プロバイダでこれを行う必要があります。 eraseメソッドでセルの背景を次のように入力することができます。

@Override 
protected void erase(Event event, Object element) 
{ 
    Table table = (Table)event.widget; 
    TableItem item = (TableItem)event.item; 

    int row = table.indexOf(item); 

    Color color; 
    if ((row & 1) == 0) 
    color = event.gc.getDevice().getSystemColor(SWT.COLOR_GREEN); 
    else 
    color = event.gc.getDevice().getSystemColor(SWT.COLOR_RED); 

    event.gc.setBackground(color); 

    event.gc.fillRectangle(event.x, event.y, event.width, event.height); 
} 
+0

完璧に動作します!ありがとうございます – user04556

+0

同じものを使用してフォントサイズを変更するにはどうすればよいですか? – user04556

+0

これは別の質問です。新しい質問をしてください。 –

関連する問題