# GROOVY JList in scrollPane wirft ArrayIndexOutOfBoundsException



## speedster83 (23. Sep 2014)

Hallo,

ich habe einem scrollPane eine JList hinzugefügt. 


```
panelTFSuche = swingBuilder.mpanel()
{        
    textField(id:"tf",/*,columns:27*/, preferredSize:[500,0], constraints:'growx,wrap', keyReleased:{e -> suche(e.getSource().getText())}  );

    scrollPane(id:'myScrollPane', preferredSize:[500,350], constraints:'growx', mouseMoved:{}, mouseEntered:{}, mouseExited:{},  minimumSize:[500,300] ) {
    l = list(id:'listId', font:h5Font,  selectionMode: ListSelectionModel.SINGLE_SELECTION, valueChanged:{
                e -> if(e.isAdjusting==false){addContent(e)}
        })
    }
}
```

Diese Liste wird über ein Textfeld gefiltert.


```
def void suche(def text)
{
    def foundCams =  model.datapoints.findAll(){
        ( (it.name.toLowerCase().contains(text.toLowerCase()))&&
        (it.datapointType.id.equals('c7678c83-2841-435d-b9a7-e4669f64d033')) )||
        ( (it.description.toLowerCase().contains(text.toLowerCase()))&&
        (it.datapointType.id.equals('c7678c83-2841-435d-b9a7-e4669f64d033')) )
    };
    if (foundCams!=null)
    {
        foundCams.sort();
        swingBuilder.listId.listData = foundCams
        swingBuilder.listId.selectedIndex = 0;
        listWithNames = foundCams.description
    }
}
```



Ich weiß es ist anhand dieses Codeteils schwer zu erkennen was das Programm genau macht. 
Ich denke aber, es handelt sich hier um ein grundsätzliches Problem. Ich habe die ListData auch 
schon durch einfache Buchstaben folgen welche in der Liste angezeigt werden ausgetauscht.
Sobald ich mit der Maus auf ein Element in der Liste zeige, wird dieses markiert.
Filtere ich nun die Liste, wird der Eintrag auf dem der Mauszeiger zeigt nach oben verschoben.
Dies hat eine ArrayIndexOutOfBoundsException zu Folge.



> Java Web Start 10.55.2.14
> JRE-Version verwenden 1.7.0_55-b14 Java HotSpot(TM) Client VM
> Benutzer-Home-Verzeichnis = C:\Users\ESSER
> ----------------------------------------------------
> ...



Hat jemand dazu eine Idee? 
Ich habe dies nun auf verschiedenste Weise getestet, immer mit dem gleichen Ergebnis.

Dies passiert nicht, wenn der Mauszeiger nicht im ScrollPane Feld ist. ???:L


----------



## Joose (23. Sep 2014)

Was passiert denn wenn du bei der ungefilterten JList mit der Maus über einen Bereich ohne Item gehst?
Fliegt dann ebenfalls eine Exception?


----------



## speedster83 (24. Sep 2014)

Nein, in allen anderen Fällen gibt es keine Exception. 
Dies passiert nur, wenn per mouse Over ein Element vor selektiert war und die Liste dann so weit schrumpft, dass die Maus auf kein Element mehr zeigt.


----------

