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

Problema con JTable y datos Double

Estas en el tema de Problema con JTable y datos Double en el foro de Java en Foros del Web. Hola, Resulta que tengo un JTable que recibe como filas un Object de este tipo: {1, "HAS1410", "Dinosaurio", "Ten cuidado que muerde duro!", "M", 5, ...
  #1 (permalink)  
Antiguo 07/11/2010, 17:15
Avatar de Physlet  
Fecha de Ingreso: octubre-2010
Ubicación: Panamá
Mensajes: 48
Antigüedad: 14 años, 1 mes
Puntos: 9
Problema con JTable y datos Double

Hola,

Resulta que tengo un JTable que recibe como filas un Object de este tipo:

{1, "HAS1410", "Dinosaurio", "Ten cuidado que muerde duro!", "M", 5, 10, 30, 3, 12.00, 3.99, "img001"}

Entonces, a la hora de visualizar los datos me muestra todos excepto aquellos que llevan decimales. Pero al darle doble clic a la casilla donde estos deberían estar, aparecen.

¿Cómo puedo hacer para que se muestren?
Estoy usando esta clase como render para darle formato a las celdas:

Código:
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.table.*;
import java.awt.*;

class DatabaseRender implements TableCellRenderer{
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column){
		/* Font para todas las columnas */
		Font font = new Font("Verdana", Font.PLAIN, 11);
		
		/* Etiqueta para todas las columnas */
		JLabel lb = new JLabel();
		lb.setHorizontalAlignment(SwingConstants.CENTER);
		lb.setFont(font);
		
		/* Área de Texto para Descripción */	
		JTextArea tx = new JTextArea();
		tx.setLineWrap(true);
		tx.setFont(font);

		/* Colores usados */
		Color bgr = new Color(184, 207, 229);
		Color brd = new Color(99, 130, 191);
		
		if(isSelected){
			lb.setBackground(bgr);
			tx.setBackground(bgr);
			
			if(hasFocus){
				lb.setBorder(BorderFactory.createMatteBorder(2, 2, 2, 2, brd));
				tx.setBorder(BorderFactory.createMatteBorder(2, 2, 2, 2, brd));
			}
			
		} else {
			lb.setBackground(Color.WHITE);
			tx.setBackground(Color.WHITE);
		}
		
		if(column == 3){
			tx.setOpaque(true);
			tx.setText((String) value);
			return tx;
		} else {
			lb.setOpaque(true);
			lb.setText((String) value);
			return lb;		
		}
	}
}

Etiquetas: double, jtable
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:24.