codice:
class JLabelRenderer extends DefaultTableCellRenderer {
    
	public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
	{
        if (isSelected) {
            setOpaque(true);
            setBackground(table.getSelectionBackground());
            setForeground(table.getSelectionForeground());
        } else {
            setOpaque(false);
            setBackground(table.getBackground());
            setForeground(table.getForeground());
        }
		
	return value instanceof JLabel ? (JLabel)value : super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
	}
}
Ho creato questo Renderer per una JTable che mi visualizza in una colonna di tale JTable una JLabel con un'immagine. Funziona tutto perfettamente soltanto che alla selezione di una generica riga della JTable questa viene tutta evidenziata, ossia il colore di background mutato, tranne che nella cella contenente la mia JLabel con l'icona.

Ho aggiunto quel controllo if(isSelected) pensando di risolvere così ma invano, sicuramente sbaglio, anche perchè non sono molto pratico di Renderer vari in java.

Qualcuno mi sa dire come modificare questo Renderer per far si che la cella contenente la JLabel venga evidenziata assieme al resto della riga associata?

GRAZIE