eliminar filas de un Jtable

alex
25 de Junio del 2009
Hola amigos, bueno mi problema es el siguiente:
tengo un combobox y un jtable(use un AbstractTableModel para la tabla); bueno cuando elijo una opcion del combo y quiero que la tabla se actualize; es decir por ejemplo elijo opcion 'A' y la tabla me muestra dos filas y despues elijo la opocion 'B' del combo y deberia elminar las anteriores filas de la tabla y pintar otras, pero se agrega la primera fila de la opcion 'A' a las de la opocion 'B'

este es el codigo para borrar las filas

for(int i=0;i<tabla.getRowCount();i++)
{
tabla.removeRow(i)
}

esta es la clase modelo

public class TablaConsultarCurso extends AbstractTableModel{
ArrayList datos = new ArrayList();
Object [] columnas = {"Cod.Curso","Seccion","Nombre Curso", "Apellidos Docente", "Nombre Docente"};
Class[] types = new Class [] {
java.lang.String.class, java.lang.String.class,java.lang.String.class,
java.lang.String.class, java.lang.String.class};

/** Creates a new instance of SimpleTableModel */
public TablaConsultarCurso() {


}


public int getRowCount() { return datos.size(); }

.....................

public void removeRow(int fila) {
datos.remove(fila);
fireTableDataChanged();
}



public ArrayList getDatos() {
return datos;
}


public void setDatos(ArrayList datos) {
this.datos = datos;
}

}

nose por q sucede eso, ojala me puedan ayudar

Naiara
25 de Junio del 2009
Para borrar las filas haz esto:
DefaultTableModel mod = (DefaultTableModel)this.tutabla.getModel();
int num_f = mod.getRowCount()-1;

for(int i=num_f; i>=0; i--) {
mod.removeRow(i);
}

Te recomendaria que en el Action del Combo llamases a una función que te borre la tabla (metes el código que te acabo de poner en una función) y a continuación llames a otra función para que te rellene la tabla.
Espero que te sirva, a mi me lo hace correctamente ;)