Dango,
Veja se eu entendi direito o que vc quis quizer, quando mandou eu setar o “setDefaultRenderer”, eu setei ele na JTable, é isso mesmo?
Tb quando seleciono qualquer linha, a coluna que esta com o renderer não fica marcada como selecionada.
O Fonte esta abaixo, por favor, se puder me de um help.
// jt é o meu JTable
jt.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
MyTableCellRenderer render = new MyTableCellRenderer();
jt.setDefaultRenderer(String.class, render);
TableColumn col = jt.getColumnModel().getColumn(0);
col.setCellRenderer(render);
// Renderer
public class MyTableCellRenderer extends JLabel implements TableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int rowIndex, int vColIndex) {
setText(value.toString());
Font fonte;
fonte = new Font("",Font.PLAIN,12);
setFont(fonte);
setHorizontalAlignment(CENTER);
setOpaque(true);
if ( (((String) value).compareTo("I") == 0) || (((String) value).compareTo("I*") == 0) ) {
setForeground(java.awt.Color.black);
setBackground(java.awt.Color.white);
}
if ( (((String) value).compareTo("A") == 0) || (((String) value).compareTo("A*") == 0) ) {
setForeground(java.awt.Color.white);
setBackground(java.awt.Color.blue);
}
if ( (((String) value).compareTo("K") == 0) || (((String) value).compareTo("K*") == 0) ) {
setForeground(java.awt.Color.white);
setBackground(java.awt.Color.red);
}
return this;
}
public void validate() {}
public void revalidate() {}
protected void firePropertyChange(String propertyName, Object oldValue, Object newValue) {}
public void firePropertyChange(String propertyName, boolean oldValue, boolean newValue) {}
}