Hallo zusammen,
ich brauche Hilfe bei dem folgenden Problem:
Ich habe eine JList, die immer einen bestimmten Vector auflisten soll. Dieser Vector wird in einem Thread ziemlich schnell bearbeitet (es werden Elemente hinzugefügt und entfernt). Jedes Mal soll dabei die Liste aktualisiert werden. Aber dabei kommt immer so ein Fehler:
Im Quelltext sieht das ungefähr so aus:
[HIGHLIGHT="Java"] new Thread(new Runnable() {
public void run() {
while (!fileSrcQueue.isEmpty()) {
if (client.isFile((String) fileSrcQueue.firstElement()) == 1) {
client.receiveFile((String) fileSrcQueue.firstElement(), (File) fileDestQueue.firstElement(), jProgressBar1);
} else if (client.isFile((String) fileSrcQueue.firstElement()) == 0) {
transferDir((String) fileSrcQueue.firstElement(), dirchooser.getSelectedFile(), true);
}
fileSrcQueue.remove(0);
jList2.setListData(fileSrcQueue);
}
}
}).start();[/HIGHLIGHT]
Was kann ich tun?
Grüße,
R2D2
ich brauche Hilfe bei dem folgenden Problem:
Ich habe eine JList, die immer einen bestimmten Vector auflisten soll. Dieser Vector wird in einem Thread ziemlich schnell bearbeitet (es werden Elemente hinzugefügt und entfernt). Jedes Mal soll dabei die Liste aktualisiert werden. Aber dabei kommt immer so ein Fehler:
Code:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 12 >= 12
at java.util.Vector.elementAt(Vector.java:427)
at javax.swing.JList$5.getElementAt(JList.java:1690)
at javax.swing.plaf.basic.BasicListUI.paintCell(BasicListUI.java:191)
at javax.swing.plaf.basic.BasicListUI.paintImpl(BasicListUI.java:304)
at javax.swing.plaf.basic.BasicListUI.paint(BasicListUI.java:227)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:143)
........
Im Quelltext sieht das ungefähr so aus:
[HIGHLIGHT="Java"] new Thread(new Runnable() {
public void run() {
while (!fileSrcQueue.isEmpty()) {
if (client.isFile((String) fileSrcQueue.firstElement()) == 1) {
client.receiveFile((String) fileSrcQueue.firstElement(), (File) fileDestQueue.firstElement(), jProgressBar1);
} else if (client.isFile((String) fileSrcQueue.firstElement()) == 0) {
transferDir((String) fileSrcQueue.firstElement(), dirchooser.getSelectedFile(), true);
}
fileSrcQueue.remove(0);
jList2.setListData(fileSrcQueue);
}
}
}).start();[/HIGHLIGHT]
Was kann ich tun?
Grüße,
R2D2