Pourquoi mon rendu de cellule personnalisé Java n'affiche pas la surbrillance lorsque la ligne / cellule est sélectionnée?

J'ai un rendu de cellule personnalisé pour une cellule de faire un retour à la ligne, donc plus de contenu peut être lu. Voici le code:

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;
    }
}

Mise à jour: Le rendu de cellule est utilisé correctement, mais lorsque l'utilisateur sélectionne une ligne dans la JTable, alors il ne montre que la mise en évidence de la non-personnalisé cellules rendus. La mise en évidence des spectacles pour toutes les autres cellules de la ligne. Cela laisse juste une cellule avec un fond blanc, alors que le reste de la ligne a du bleu (dans mon cas) comme l'a souligné couleur d'arrière-plan.

source d'informationauteur Brian T Hannan