JAVA: No consigo eliminar en JLlist

Iniciado por JCharlie, 9 Marzo 2013, 15:46 PM

0 Miembros y 1 Visitante están viendo este tema.

JCharlie

Buenas tardes,

Mi duda es la siguiente... En el evento de un botón para eliminar items de un JList, obtengo siempre la excepción Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1.

He probado tanto remove(), como removeElement(), removeElementAt()... He comentado en el código las diferentes opciones que he probado, así como el código de modificar els del JList, que sí funciona.

¿Alguien me arroja una luz? Gracias por adelantado!!


    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        //para eliminar del JList, lanza excepción
        int index= jList1.getSelectedIndex();
        if(index>=0){
        modeloLista.remove(index);
        }
        /*op1: Usuario2 objUsuario2=(Usuario2)modeloLista.getElementAt(index);
         modeloLista.removeElement(objUsuario2);*/

        //op2:  modeloLista.remove(index);

        //op3:  modeloLista.removeElementAt(index);

        //para modificar del JList, funciona
        /* String nombre;
        nombre = jTextField1.getText();
        Usuario2 objUsuario2 = new Usuario2(nombre);
        modeloLista.set(index, objUsuario2);*/
       
    } 

Chuidiang

Hola:

No parece tener mucho sentido lo que comentas. El ArrayIndexOutOfBoundsException con -1 daría si no hay nada seleccionado en la lista y getSelectedIndex() devuelve -1, pero tienes el if, por lo que no es posible.

¿Tienes exactamente ese código cuando te da ese error? ¿Y seguro que es exactamente en esa línea?

Se bueno.

JCharlie

Hola y gracias por la respuesta!!

Si, claro que es ese código. No he acabado de entender cuál es el error... pero he tomado una alternativa... Hacer las modificaciones sobre un array y actualizar en cada evento al jList...