Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/03/2011, 20:31
Avatar de francopai
francopai
 
Fecha de Ingreso: agosto-2008
Mensajes: 42
Antigüedad: 15 años, 8 meses
Puntos: 2
Problema con TableCellRenderer

Estoy utilizando una clase que implementa TableCellRenderer para poder formatear los numericos de mi JTable, pero el problema que tengo es que al seleccionar la fila, las columnas formateadas no se "pintan" como se seleccion, se pinta toda la fila menos los campos donde se aplicó el format con la clase antes mencionada. A continuacion dejo el codigo que estoy utilizando, desde ya, muchas gracias!

Código:
public class RenderTabla extends JFormattedTextField implements TableCellRenderer {

    @Override
    public Component getTableCellRendererComponent(JTable table, Object value,
            boolean isSelected, boolean hasFocus, int row, int column) {

        this.setBorder(BorderFactory.createEmptyBorder());

        if (value instanceof Double) {
            Double valor = (Double) value;
            this.setFormatterFactory(new DefaultFormatterFactory(new NumberFormatter(new DecimalFormat("##,##0.00"))));
            this.setHorizontalAlignment(SwingConstants.RIGHT);
            this.setValue(valor);
        }

        return this;
    }
}
Y en cada JTable lo aplico de esta manera:
Código:
tbl_Resultados.setDefaultRenderer(Double.class, new RenderTabla());