Java - Recargar información JTable

 
Vista:

Recargar información JTable

Publicado por Ayuda por favor (2 intervenciones) el 04/04/2007 09:44:17
Tengo una aplicación JAVA en la que cada 10 segundos tengo que recargar la información que contiene. Lo que me pasa es que al tiempo me sale una excepción JAVA HEAP SPACE. Estoy seguro que no lo hago de forma correcta. Pongo el código que hace el Thread cada 10 seg para ver si alguien me puede hechar una mano. Creo que lo que hago mal es crear todo el rato objetos DefaultTableModel y tableSorter y asignarlos a la tabla, el problema es que no se como recargar los datos de la tabla y que me aparezcan ordenados (de ahí que cree el tableSorter).

Vector vEvents = null;
try {
vEvents = getTableEvents();
} catch (DataBaseConnectionException e1) {
showDBErrorDialog();
}

//RowsData contiene vectores por cada celda de cada columna que contiene el texto a
//aparecer y el color de la celda.
Object rowsData[][];
rowsData = new Object[vEvents.size()/6][5];
int row = 0;
for(int x=0;x<vEvents.size();x=x+6){
String id= vEvents.get(x).toString();
for(int i=0;i<5;i++){
Vector<Object> v=new Vector<Object>();
v.add(id);
v.add(vEvents.elementAt(x+1+i));
//añadir color fore
//añadir color fondo
rowsData[row][i]= v;
}
row++;
}

String columnNames[];
columnNames = new String[5];

columnNames[0]=lm.getText(ITextCodes.TX_DATE_TIME);
columnNames[1]=lm.getText(ITextCodes.TX_TYPE);
columnNames[2]=lm.getText(ITextCodes.TX_SECUENCE);
columnNames[3]=lm.getText(ITextCodes.TX_EQUIPMENT);
columnNames[4]=lm.getText(ITextCodes.TX_DESCRIPTION);

DefaultTableModel myModel = new DefaultTableModel(rowsData,columnNames);

eventsTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
TableSorter sorter = new TableSorter(myModel);
if(ordByColumn!=-1){
sorter.sortByColumn(ordByColumn, order);
}
eventsTable.setModel(sorter);
sorter.addMouseListenerToHeaderInTable(eventsTable);
Vector widths = uProfile.getColumnsWidth();
for(int x=0;x<widths.size();x++){
try{
eventsTable.getColumnModel().getColumn(x).setPreferredWidth((Integer)widths.elementAt(x));
eventsTable.getColumnModel().getColumn(x).setWidth((Integer)widths.elementAt(x));
}catch(Exception e){
eventsTable.getColumnModel().getColumn(x).setPreferredWidth(80);
}
}

eventsTable.repaint();
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

RE:Recargar información JTable

Publicado por Imako (2 intervenciones) el 15/05/2007 14:35:53
Podias decir como has solucionado este problema es que a mi me pasa algo parecido...
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