public class ColoredTableCellRenderer implements TableCellRenderer
{
private Color lightBlue = new Color(160, 160, 255);
private Color darkBlue = new Color( 64, 64, 128);
public Component getTableCellRendererComponent(
JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column
)
{
//Label erzeugen
JLabel label = new JLabel((String)value);
label.setOpaque(true);
Border b = BorderFactory.createEmptyBorder(1, 1, 1, 1);
label.setBorder(b);
label.setFont(table.getFont());
label.setForeground(table.getForeground());
label.setBackground(table.getBackground());
if (hasFocus) {
label.setBackground(darkBlue);
label.setForeground(Color.white);
} else if (isSelected) {
label.setBackground(lightBlue);
} else {
//Angezeigte Spalte in Modellspalte umwandeln
column = table.convertColumnIndexToModel(column);
if (column == 1) {
/* int numpages = Integer.parseInt((String)value);
if (numpages >= 250) {
label.setBackground(Color.red);
} else if (numpages >= 200) {
label.setBackground(Color.orange);
} else {
label.setBackground(Color.yellow);
}*/
}
}
return label;
}
}