JavaTableCellRenderer, показывающий поведение Stange

Я рендеринг древовидной таблицы (каждый узел расширяется). Это статическая таблица, и мне нужно выделить определенные ячейки. Когда я делаю это с помощью TableCellRenderer jTable, это показывает странное поведение.

Например, когда есть три столбца, он излишне выделяет конкретную ячейку в первом столбце, а когда есть четыре столбца, он выделяет две конкретные ячейки в первом столбце. Я не хочу выделять ячейки в первом столбце. Я использую следующий код:

public Component prepareRenderer(TableCellRenderer renderer, int index_row, int index_col) {
    Component comp = super.prepareRenderer(renderer, index_row, index_col);
    comp.setBackground(Color.white);

    Object obj1 = getModel().getValueAt(index_row, index_col);

    if (!obj1.toString().equals(getModel().getValueAt(index_row, 1))) {
        if (obj1.toString().equals(" ")) {
            comp.setBackground(Color.red);
        } else if (index_col != 0) {
            comp.setBackground(Color.green);
        }
    }

    return comp;
}

0 ответов

Другие вопросы по тегам