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