Как покрасить строки TableViewer альтернативно - PullRequest
2 голосов
/ 09 декабря 2011

Я использую Viewer Framework в своем приложении rcp, я хотел бы покрасить строки средства просмотра в качестве альтернативы, я попытался переопределить метод getBackground ColumnLabelProvider, ниже приведен фрагмент кода

col.setLabelProvider(new ColumnLabelProvider(){
  ----//other methods 
  @override
  public Color getBackground(Object element) {
  return gray;//here gray is color object defined somewhere in class
  }
 });

, который окрашивает столбцы,но не строка, ниже выводится

enter image description here

как мне добиться этого правильно

1 Ответ

4 голосов
/ 10 декабря 2011

Вы можете найти пример здесь , который использует IColorProvider. Возможно, вы могли бы просто повторно использовать метод getBackground() в своем коде, просто измените ссылку на ваш tableViewer:

public Color getBackground(Object element) {
    ArrayList list = (ArrayList) tableViewer.getInput();
    int index = list.indexOf(element);
    if ((index % 2) == 0) {
        return gray;
    } else {
        return null;
    }
}
...