Изменение цвета ячеек JTable без щелчка

Короче говоря, у меня есть JTable, заполненный шестнадцатеричными данными. Таблица остается на экране, пока выполняется некоторая фоновая обработка.

Фоновая обработка проверяет некоторые 8-байтовые значения, и если, например, первые 8 байтов обрабатываются успешно, мне нужно, чтобы первые 8 ячеек в таблице изменили цвет фона на зеленый. Это продолжается для следующих 8, до конца таблицы.

Но я не могу понять, как этого добиться.

public class MyCellRenderer extends javax.swing.table.DefaultTableCellRenderer {

    @Override
    public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, java.lang.Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        java.awt.Component cellComponent = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
        System.out.println("Cell render test");
        cellComponent.setBackground(java.awt.Color.GREEN);
        return cellComponent;
    }
}

Это какой-то код, который я нашел, который позволяет отображать ячейку, однако, похоже, он применяется только для целых столбцов, используя:

.getColumnModel().getColumn(10).setCellRenderer(customRenderer);

Я предполагаю, что здесь есть две разные проблемы:

  1. Как указать точный диапазон ячеек для применения пользовательского рендеринга, т.е. строка 0, столбцы 0-7?
  2. Как это применить без взаимодействия пользователя с таблицей. Я могу найти много пользовательских материалов для рендеринга, когда пользователь выбирает ячейку, но в этом случае ячейки не выбираются вручную. Я предполагаю, что это может быть случай запуска какого-то события.

Если кто-то может предложить какой-либо совет или вклад, я был бы очень признателен.


person Tony    schedule 28.01.2015    source источник
comment
Чтобы быстрее получить помощь, опубликуйте MCVE (минимальный полный проверяемый пример) или SSCCE (краткий, автономный, правильный пример).   -  person Andrew Thompson    schedule 28.01.2015


Ответы (1)


Последними аргументами метода являются строка и столбец. Чтобы получить требуемый результат, визуализатор должен учитывать эти значения.

person Andrew Thompson    schedule 28.01.2015