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?

Rispondi quotando
