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

Imagen celda JTable

Estas en el tema de Imagen celda JTable en el foro de Java en Foros del Web. Hola!! Buenas! Estoy llenando una jTable, y ahora necesito agregar una imagen en una celda, mi problema es que me agrega la imagen en cada ...
  #1 (permalink)  
Antiguo 12/07/2012, 15:45
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
Imagen celda JTable

Hola!! Buenas!

Estoy llenando una jTable, y ahora necesito agregar una imagen en una celda, mi problema es que me agrega la imagen en cada celda y yo solo la quiero en una, implemente una clase con DefaultTableCellRenderer es esta:

public Component getTableCellRendererComponent ( JTable table, Object value, boolean selected, boolean focused, int row, int column)
{
String tvalor= (String) table.getValueAt(row, 5);
if(tvalor.equals("nocomunica"))
{
setIcon(new ImageIcon("Imagenes/f2.png"));
}
else if (tvalor.equals("comunica"))
{
setIcon(new ImageIcon("Imagenes/f1.png"));
}
setText(value !=null ? value.toString() : "");
return this;
}

y la llamo así:

mitabla.setDefaultRenderer(Object.class, new RenderCeldaImagen());

Gracias!
  #2 (permalink)  
Antiguo 12/07/2012, 22:06
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Imagen celda JTable

Hola:

DefaultTableCellRenderer hereda de JLabel y el método hace return this, pero sólo hay un new de DefaultTableCellRenderer, por lo que lo que si en un momento dado le añades un icono, queda puesto.

En las celdas que no quieras icono, asegúrate de quitárselo, no presupongas que el JLabel del que heredas viene con el icono que le habías añadido ya quitado.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 18/07/2012, 12:45
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Imagen celda JTable

Muchas gracias, pregunté por la condicion que necesitaba, si era lo que quiero, etiqueta.setIcon(imagen); , si no, le pase al label el texto que trae y me quedó asi:
[JAVA]
if (value instanceof String){
String valor= (String)value;
if(valor.equals("nocomunica"))
{
etiqueta.setIcon(imagen1);
}
else {
if (valor.equals("comunica"))
{
etiqueta.setIcon(imagen2);
} else{
etiqueta.setText((String)value);
}
}
etiqueta.setToolTipText((valor));
}else{
Integer valorInt= (Integer) value;
String valorCelda= Integer.toString(valorInt);
etiqueta.setText(valorCelda);
}
return etiqueta;
}
[/JAVA]

Etiquetas: celda, clase, jtable, string
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 13:57.