You want the selected row to display an icon, but unselected rows not to? Easy. Extend javax.swing.table.DefaultTableCellRenderer. In the getTableCellRendeererComponent method, check the isSelected parameter. If it is true, add an icon (DefaultTableCellRenderer extends JLabel so just invoke setIcon()). If it is false, do whatever you want for the unselected rows.
When you create your JTable, use aTable.getColumnModel().getColumn(columnIndex).setCellRenderer() to associate a table column with your new renderer.
You should also either extend javax.swing.DefaultCellEditor to do the same thing DefaultTableCellRenderer does or make the column uneditable through your data model to make the table behave properly when someone clicks on the icon cell.
The
Java Tutorial has other instructive examples in
How to use Tables.