Hola,
En realidad no hay ningún misterio, el API de JList dice:
Cita: public int getSelectedIndex()
Returns the first selected index; returns -1 if there is no selected item.
De ahí sale tu -1, que obviamente no existe en el array en el que se basa en el modelo.
S!