Hola a todos de nuevo.
Bueno, el título lo dice todo: no soy capaz de limpiar los datos que he cargado en un JTable a través de una consulta a BBDD. Este es mi método para vaciar la dichosa tablita:
//parte de variables
static ResultSet rs;
static Statement st;
static Connection conn;
DefaultTableModel temp;
//parte de métodos
void limpiaTabla(){
try{
temp = (DefaultTableModel) jtablaDepart.getModel();
int a =temp.getRowCount()-1;
for(int i=0; i<a; i++)
temp.removeRow(i);
}catch(Exception e){
System.out.println(e);
}
}
Java me devuelve la siguiente excepción: java.lang.ArrayIndexOutOfBoundsException: 2 >= 2
La tabla tiene 3 columnas, y (en este momento) 4 filas. Cuando llamo a limpiaTabla, me borra el primer y tercer elemento de la tabla y salta esa excepción ...
SOLUCIÓN:
void limpiaTabla(){
try{
temp = (DefaultTableModel) jtablaDepart.getModel();
int a =temp.getRowCount()-1;
for(int i=0; i<a; i++)
temp.removeRow(0); //aquí estaba el error, antes pasaba la i como parametro.... soy un bacín XD
}catch(Exception e){
System.out.println(e);
}
}
table_1.setModel(new DefaultTableModel(tabla,col));
PARA LIMPIAR LA TABLA LE ASIGNO UN NUEVO MODELO.
En mi caso tabla es una matriz vacia de 100*5
String tabla[][]=new String[100][5]; y
String col[] = {"titulo1","titulo2","titulo3","titulo4","titulo5"};
:D