Questo è il mio renderer:
codice:
package jCallRemember.libreria;
import java.awt.Color;
import java.awt.Component;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.table.TableCellRenderer;
/**
*
* @author Linux
*/
public class RendererFormListaClienti extends JLabel implements TableCellRenderer{
public RendererFormListaClienti(){
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
synchronized(table.getModel()){
setOpaque(true);
String values=table.getValueAt(row, 8).toString();
setForeground(Color.BLACK);
switch (values) {
case "PR":
setBackground(Color.YELLOW);
this.setText(table.getModel().getValueAt(row, column).toString());
break;
case "OK":
setBackground(Color.GREEN);
this.setText(table.getModel().getValueAt(row, column).toString());
break;
case "KO":
setBackground(Color.RED);
this.setText(table.getModel().getValueAt(row, column).toString());
break;
}
return this;
}
}
}
Funziona benissimo, l'unico problema è che se clicco col mouse su una riga della jtable , questa non viene colorata ma resta del colore stabilito dal renderer . Come posso ovviare a questa situazione?