Почему мое настраиваемое средство визуализации ячеек Java не показывает выделение, когда выбрана строка / ячейка?

У меня есть настраиваемое средство визуализации ячеек, чтобы ячейка могла переносить слова, чтобы можно было прочитать больше содержимого. Вот код:

import java.awt.Color;
import java.awt.Component;
import java.awt.Insets;

import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.table.TableCellRenderer;

public class TextWrapCellRenderer extends JTextArea implements TableCellRenderer {
    private static final long serialVersionUID = 1L;

    public TextWrapCellRenderer() {
        setLineWrap(true);
        setWrapStyleWord(true);
        setMargin(new Insets(0, 5, 0, 5));
        setSelectionColor(Color.GREEN);
    }

    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        setText((String)value);
        setSize(table.getColumnModel().getColumn(column).getWidth(),getPreferredSize().height);
        setSelectionColor(Color.GREEN);

        return this;
    }
}

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

10
задан Brian T Hannan 5 April 2011 в 19:46
поделиться