Пользовательский TableCellRenderer / TreeTableCellRenderer не отображает ячейки таблицы

я сделал этоCustomCellRenderer класс предназначен для использования вJXTreeTable а такжеJXTable объекты, так как у меня их много в моем проекте. Так что этот класс реализуетTreeCellRenderer а такжеTableCellRenderer интерфейсы:

public class CustomCellRenderer extends JLabel 
                                implements TreeCellRenderer, TableCellRenderer {

    @Override
    public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) {
        setBackground(selected ? new Color(83,142,213) : Color.white);
        setForeground(selected ? Color.white : Color.black);
        //here is the icon setting code but it's irrelevant to my problem
        setText(value != null ? value.toString() : "");
        return this;
    }

    @Override
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        setBackground(isSelected ? new Color(83,142,213) : Color.white);
        setForeground(isSelected ? Color.white : Color.black);
        setText(value != null ? value.toString() : "");
        return this;
    }
}

И вот код, где я установил рендерер:

jXTreeTableConsumos.setDefaultRenderer(Object.class, new CustomCellRenderer());
jXTreeTableConsumos.setTreeCellRenderer(new CustomCellRenderer());

m ожидая, что фон и передний план станут синими и белыми соответственно, когда выбрана строка. Однако это происходит только в ячейке таблицы дерева (первый столбец), когда изменяется только передний план, а фон остается белым в других ячейках в той же выбранной строке:

Кто-нибудь может сказать мне, почему клетки (которые не являются клетками дерева) неизменить цвет фона?

Ответы на вопрос(1)

Ваш ответ на вопрос