style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

limpiar jtable

buenas tardes a todos

estoy tratando de limpiar un jtable, despues de borrar los registros cuando intento agregarlos nuevamente tengo problemas. he intentado con varias maneras entre ellas:

public void limpiarTabla(){
try {
DefaultTableModel modelo=(DefaultTableModel) tblCesta.getModel();
int filas=tblCesta.getRowCount();
for (int i = 0;i<=filas; i++) {
modelo.removeRow(0);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Error al limpiar la tabla.");
}
}

void limpiartabla(){

int a =modelo.getRowCount()-1;
System.out.println(a);
for(int i=a; i>=0; i--){
System.out.println(i);
modelo.removeRow(i );
}
}

en esta estoy actualmente.....

public void limpiarTabla(){
try {
int b =0;
DefaultTableModel modelo=(DefaultTableModel) tblCesta.getModel();
int filas=tblCesta.getRowCount();
System.out.println("filas"+filas);
for (int i = 0;i<=filas; i++) {
b = tblCesta.getRowCount();
System.out.println("i"+i);
System.out.println("ba"+b);
modelo.removeRow(i);
System.out.println("bd"+b);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Error al limpiar la tabla.");
}
}

ninguna me ha funcionado como esperaba, en esta ultima por ejemplo si hay un registro en la tabla me lo borra, pero cuando voy a llenar nuevamente la tabla, me sale:

filas1
i0
ba1
bd1
i1
ba0
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 1 >= 1
at java.util.Vector.elementAt(Vector.java:470)
at javax.swing.table.DefaultTableModel.setValueAt(DefaultTableModel.java:665)
at sertlav.FrmFacturacion.CargarTablaCesta(FrmFacturacion.java:173)
at sertlav.FrmFacturacion.BotonAgregarActionPerformed(FrmFacturacion.java:874)
at sertlav.FrmFacturacion.access$200(FrmFacturacion.java:22)
at sertlav.FrmFacturacion$3.actionPerformed(FrmFacturacion.java:529)......

en este caso la linea 173 esta dentro del método de llenado de la tabla

void CargarTablaCesta(String nombre, String clase, String cantidad, String costo){

modelo= (DefaultTableModel)this.tblCesta.getModel();
modelo.addRow(new Object[filas]);
for (int x=0; x= 4
at java.util.Vector.elementAt(Vector.java:470)
at javax.swing.table.DefaultTableModel.setValueAt(DefaultTableModel.java:665)
at sertlav.FrmFacturacion.CargarTablaCesta(FrmFacturacion.java:173)
at sertlav.FrmFacturacion.BotonAgregarActionPerformed(FrmFacturacion.java:874)
at sertlav.FrmFacturacion.access$200(FrmFacturacion.java:22)
at sertlav.FrmFacturacion$3.actionPerformed(FrmFacturacion.java:529)

y ese error sale por cada registro que elimine y que ahora intento agregar

muchas gracias por su ayuda

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de pechsclk

Checa con esto

Pues dices que quieres limpiar un jtable.., luego dices que la vuelves a intentar y te da problemas..
tengo este pequeño código que utilice para limpiar una jtable que simulaba que terminaba la venta de x cosas..

  public void eliminar(){
        DefaultTableModel tb = (DefaultTableModel) Jtable.getModel();
        int a = JtablegetRowCount()-1;
        for (int i = a; i >= 0; i--) {          
        tb.removeRow(tb.getRowCount()-1);
        }
        //cargaTicket();
    }

Checa espero que te sirva...

Imagen de neko069

Con swing, yo lo único que

Con swing, yo lo único que hacía era poner el row count a cero en el modelo y ya:

modelo.setRowCount(0);

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">