Как правильно использовать специальные средства визуализации для рисования определенных ячеек в JTable?

У меня есть компонент JTable в моем графическом интерфейсе, который отображает псевдокод алгоритма. Я хочу выделить текущую строку выполнения, изменив фон определенной ячейки, а затем изменив ячейку ниже и так далее.

Сейчас мой код меняет фон во всех ячейках в JTable, как показано ниже:

JTable

Код, который я использую для архивирования текущего состояния, выглядит следующим образом:

class CustomRenderer extends DefaultTableCellRenderer 
{
    @Override
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
    {
            JLabel d = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
            if((row == 0) && (column == 0))
                d.setBackground(new java.awt.Color(255, 72, 72));
            return d;
        }
    }

Затем я вызываю jTable2.setDefaultRenderer( String.class, new CustomRenderer()); в моем конструкторе.

Я предполагаю, что:

  • Этот метод вызывается для каждой ячейки таблицы типа String.
  • Что это изменит цвет только ячейки в позиции (0,0)

Как мне исправить мой код, чтобы окрашивалась только ячейка (0,0)?

5
задан Jason Orendorff 27 September 2012 в 11:53
поделиться