Ik ben bezig aan een project waarbij ik uit een database muziekstijlen moet halen bij een evenement (string vector) en deze muziekstijlen vervolgens moet selecteren in een Jlist die alle stijlen bevat. Deze jList wordt ook opgebouwd uit een string vector. Nu is het niet mogelijk om een methode als setSelectedValues() te gebruiken. Wel setSelectedIndices(). Daarom heb ik het volgende bedacht:
setSelectedIndices() gebruikt een int[]. Ik wil dus de twee vectoren vergelijken en als er een overeenkomst is het zoveelste element uit de lijst achterhalen. Mijn methode werkt niet. De compiler geeft steeds een array out of bounds exception. Weet iemand waar de fout zit?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| private int[] compareVectors(String eventId){
int[] incs = null;
int x = 0;
int y = 0;
Vector jList = index.queryManager.getStyles();
Vector eventStyles = index.queryManager.getStylesByEvent(eventId);
while(x <= eventStyles.size()){
if(jList.elementAt(y).equals(eventStyles.elementAt(x))){
incs[x] = y;
x++;
y = 0;
}else{
y++;
}
} |
setSelectedIndices() gebruikt een int[]. Ik wil dus de twee vectoren vergelijken en als er een overeenkomst is het zoveelste element uit de lijst achterhalen. Mijn methode werkt niet. De compiler geeft steeds een array out of bounds exception. Weet iemand waar de fout zit?