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;
}
}
}