Hola:
Resulta que tengo una tabla y me gustaría que determinados datos se visualicen con un tamaño de letra mayor un otro color de letra.
Tengo un renderer para las celdas que extiende a JLabel y lo que he hecho ha sido modificar esta clase renderer para que en función de la columna, ponga una fuente u otra.
El código es el siguiente:
Código:
public class RenderTablaTareas_Grupos implements TableCellRenderer{
JLabel label;
Font f1,f2;
/** Creates a new instance of RenderTablaTareas_Grupos */
public RenderTablaTareas_Grupos() {
label = new JLabel();
label.setOpaque(true);
f1 = new Font("arial",Font.PLAIN,12);
f2 = new Font("arial",Font.BOLD,12);
}
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus,
int row, int column) {
if(column >0 && column < 6){
label.setFont(f1);
label.setForeground(Color.BLACK);
label.setHorizontalAlignment(JLabel.CENTER);
}
else if(column == 6){
label.setFont(f2);
label.setForeground(Color.RED);
label.setHorizontalAlignment(JLabel.CENTER);
}
else {
label.setFont(f1);
label.setForeground(Color.BLACK);
label.setHorizontalAlignment(JLabel.LEFT);
}
if(isSelected == true || hasFocus == true){label.setBackground(new Color(213,231,234));}
else{label.setBackground(Color.WHITE);}
if(!(value==null)){label.setText(value.toString());} else label.setText("");
if(hasFocus){label.setBorder(BorderFactory.createLineBorder(Color.BLACK,1));} else {label.setBorder(BorderFactory.createEmptyBorder());}
return label;
}//getTableCellRendererComponent()
}
El caso es que no me lo pinta de colores ni en negrita ni nada de nada.
¿Cómo se podría hacer?
Muchas gracias y un saludo,