Java - columna con distintos tipos de datos

 
Vista:
sin imagen de perfil

columna con distintos tipos de datos

Publicado por Aleida Rodriguez (27 intervenciones) el 19/03/2010 20:20:09
Hola...
Alguien sabe si es posible poner distintos tipos de datos en una misma columna de una tabla.
Lo que quiero es poner en una celda una imagen y en otra celda de la misma columna quiero poner texto.
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:columna con distintos tipos de datos

Publicado por Javier Mariscal (94 intervenciones) el 19/03/2010 20:45:05
//***Hola, bueno si se puede, tendrias que crear una clase que extienda el CellRender y ponercelo a esa columna.
En el CellRender esta el truco, ahi tendrias que hacer un casting para diferenciar el tipo de dato cosa que si
es una imagen que devuelva un IconImage que por defecto la jtable reconocera como una imagen o si es un String
que muestro lo correspondiente.

Bueno el codigo de la clase Render seria algo asi>
**/
public class MultiColumnRenderer implements TableCellRenderer {

public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
JLabel label=new JLabel();

if(value instanseof ImageIcon){
label.setIcon((ImageIcon)value) ;
}
if(value instanseof String){
label.setText((String)value) ;
}
return label;
}
}
/**Bueno el codigo seria algo asi aunq de seguro debe haber algunos errores en la sintaxis
porq lo he hecho de memoria
Ahora tendrias que implementarlo a una columna de la tabla*/

table.getColumnModel().getColumn(1).setColumnRender(new MultiColumnRenderer());

/**Espero que te ayude en algo.**/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:columna con distintos tipos de datos

Publicado por Aleida Rodriguez (27 intervenciones) el 20/03/2010 05:57:57
Ok, gracias, lo analaizare a ver que pasa...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar