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:
El caso es que no me lo pinta de colores ni en negrita ni nada de nada.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() }
¿Cómo se podría hacer?
Muchas gracias y un saludo,