Poner iconos en JTable

Iniciado por kikian94, 17 Abril 2015, 15:22 PM

0 Miembros y 1 Visitante están viendo este tema.

kikian94

hola, quiero hacer una tabla para mostrar predicciones meteorologicas, la cual forma parte de una aplicacion:


pero a la hora de actualizar las predicciones queda asi:


lo curioso es que en el codigo del modelo:

Código (java) [Seleccionar]
package principal;

import java.util.Iterator;

import javax.swing.table.AbstractTableModel;

import paa.provincias.IPrediccion;

public class TableModel extends AbstractTableModel{

/**
*
*/
private static final long serialVersionUID = 1L;
String columnas[] = {"Fecha", "Temp. Mínima", "Temp. Máxima", "Icono","Estado del cielo"};
Object[][] data;
public java.util.List<IPrediccion> predicciones;

public TableModel() {
data = new Object[8][5];
int k = 0;
for(int j = 0; j<5; j++){
data[0][j] = columnas[k];
k++;
for(int i=1; i<8; i++){
data[i][j] = new String("*");
}
}
}

public int getColumnCount() {
return columnas.length;
}

@Override
public int getRowCount() {
return data.length;
}

@Override
public Object getValueAt(int row, int col) {

return data[row][col];
}

public String getColumnName(int col){
return columnas[col];
}

public Class getColumnClass(int c){
return getValueAt(0,c).getClass();
}

//public boolean isCellEditable(int row,int col){}
public void setValueAt(Object value, int row, int col){
data[row][col] = value;
fireTableCellUpdated(row,col);
}

public void rellenar(java.util.List<IPrediccion> prediccion){
Iterator<IPrediccion> it;
it = prediccion.iterator();

int i = 1; // si pongo 1 salen imagenes, si pongo 0 salen string wtf?
int j;
while (it.hasNext()){
//Recorremos la lista y colocamos en las celdas de cada fila los datos de las predicciones
IPrediccion pre = it.next();
j=0;
setValueAt(pre.getFecha(), i, j);
j++;
setValueAt(pre.getTemperaturaMinima(), i, j);
j++;
setValueAt(pre.getTemperaturaMaxima(), i, j);
j++;
setValueAt(pre.getIconoEstadoCielo(), i, j);
j++;
setValueAt(pre.getEstadoCielo(), i, j);
j++;
i++;
}
}


}


y me da esto cuando pongo i a 1:


lo cual es como deberia de estar pero desplazado una fila hacia debajo, alguien sabe donde esta el error?