Как установить цвет строки и добавить изображение в ячейку - PullRequest
1 голос
/ 23 октября 2011

Я хочу изменить цвет строки, поэтому я создаю свой собственный рендерер ячеек:

@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
        boolean hasFocus, int row, int column) {

    if (row % 2 == 1) {
        setBackground(new Color(245, 245, 245));
    }
    if (row % 2 == 0) {
        setBackground(Color.white);
    }

    setHorizontalAlignment(JLabel.CENTER);
    return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
}

это работает нормально, пока я не хочу добавить изображение в ячейку, поэтому я переопределяю метод в таблице:

    @Override
    public Class getColumnClass(int column) {
        if (column == 4) {
            return ImageIcon.class;
        }
        return Object.class;
    }

Теперь четвертый столбец все еще белый и не меняет цвет.

Как я могу реализовать все это одновременно?

Спасибо за совет

1 Ответ

3 голосов
/ 23 октября 2011

Я хочу изменить цвет

Рендеринг таблицы строк показывает простой способ.Вам не нужен пользовательский рендер.но вам все равно нужно переопределить метод getColumnClass () для отображения вашего Icon.

...