Foros del Web » Programación para mayores de 30 ;) » Java »

Modificar fuente del texto de una tabla

Estas en el tema de Modificar fuente del texto de una tabla en el foro de Java en Foros del Web. 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. ...
  #1 (permalink)  
Antiguo 07/10/2008, 09:46
 
Fecha de Ingreso: febrero-2008
Mensajes: 65
Antigüedad: 16 años, 2 meses
Puntos: 0
Modificar fuente del texto de una tabla

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,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:25.