Foro de elhacker.net

Programación => Java => Mensaje iniciado por: JCharlie en 9 Marzo 2013, 15:46 pm



Título: JAVA: No consigo eliminar en JLlist
Publicado por: JCharlie en 9 Marzo 2013, 15:46 pm
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!!

Código:
    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);*/
       
    } 


Título: Re: JAVA: No consigo eliminar en JLlist
Publicado por: Chuidiang en 9 Marzo 2013, 18:57 pm
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.


Título: Re: JAVA: No consigo eliminar en JLlist
Publicado por: JCharlie en 12 Marzo 2013, 20:48 pm
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...