Foro de elhacker.net

Programación => Java => Mensaje iniciado por: |Miguel| en 19 Febrero 2012, 18:31 pm



Título: [RESUELTO] No consigo limpiar un JTable... [RESUELTO]
Publicado por: |Miguel| en 19 Febrero 2012, 18:31 pm
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:
Código
  1. //parte de variables
  2.    static ResultSet rs;
  3.    static Statement st;
  4.    static Connection conn;
  5.    DefaultTableModel temp;
Código
  1. //parte de métodos
  2. void limpiaTabla(){
  3.        try{
  4.            temp = (DefaultTableModel) jtablaDepart.getModel();
  5.            int a =temp.getRowCount()-1;
  6.            for(int i=0; i<a; i++)
  7.                temp.removeRow(i);
  8.        }catch(Exception e){
  9.            System.out.println(e);
  10.        }
  11.    }

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 ...


Título: Re: No consigo limpiar un JTable...
Publicado por: |Miguel| en 19 Febrero 2012, 18:45 pm
SOLUCIÓN:
Código
  1. void limpiaTabla(){
  2.        try{
  3.            temp = (DefaultTableModel) jtablaDepart.getModel();
  4.            int a =temp.getRowCount()-1;
  5.            for(int i=0; i<a; i++)
  6.                temp.removeRow(0); //aquí estaba el error, antes pasaba la i como parametro.... soy un bacín  XD
  7.        }catch(Exception e){
  8.            System.out.println(e);
  9.        }
  10.    }


Título: Re: [RESUELTO] No consigo limpiar un JTable... [RESUELTO]
Publicado por: shoni_isra en 12 Febrero 2018, 09:06 am
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