Problem mit locationToIndex in JList

philiphai

Grünschnabel
Hallo zusammen,

ich habe ein Programm geschrieben, in dem man per Doppelklick einen Eintrag aus einer JList in ein JTextField kopieren kann. Grundsätzlich funktioniert auch alle, ABER von Zeit zu Zeit gibt es einen komischen Effekt:

Ich starte das Programm zum ersten Mal. Wenn ich nun einen beliebigen Eintrag doppelklicke erhalte ich immer den Index 0 bzw. den Text des ersten Eintrags.
Beende ich das Programm und starte es wieder, kann ich den ersten und den zweiten Eintrag korrekt auswählen, bei allen anderen erhalte ich den Index 1 bzw. den Text des zweiten Eintrags.
Beende ich das Programm wieder und starte es wiederum geht es bis Index 2, beim Nächsten Aufruf bis Index 3 usw bis Index = 11 ( Ende der Liste). Dann funktioniert das Progamm einige Male normal, bis das Spiel wieder von vorne anfängt ...

Die Zeile

Code:
int index = list.locationToIndex(e.getPoint());

liefert immer den richtigen Punkt (x:;y:) aber die Umsetzung auf den entsprechenden Index schlägt fehl ...

Zum Umfeld: WinDoof oder Linux mit aktuellen Eclipse und aktuellem JDK6. Auch ohne Eclipse, neu kompiliert, passiert das Gleiche. Interessanterweise habe ich den gleichen Effekt sowohl unter Windows (XP SP2) als auch unter Linux (openSuse 10.3).

Hat das schon jemand erlebt? Hat jemand eine Idee, was da los ist?

Vielen Dank im Voraus

Philip

P.S.: der Versuch das ganze mit
Code:
int index = list.getSelectedIndex()
zu erledigen, liefert nur Null zurück.
 
aber gerne:

Code:
public void mouseClicked(MouseEvent e) 
{
   if (e.getClickCount() == 2) 
   {
      Point point = e.getPoint();

      int index = list.locationToIndex(e.getPoint());

      System.out.println("Index: "+index);
    			
      tfKunde.setText((String)listModelKunde.getElementAt(index));
   }
}

zur Erklärung: die X- und Y-Koordinaten stimmen, der Index ist falsch

Ich hoffe, ich habe nicht zu viel weggelassen ...

Grüße

Philip
 
Vielen Dank Das Problem saß mal wieder davor ...

Der Fehler lag in der falschen list (soviel zum Thema Globale Variablen ...). Es gibt eine zweite JList, die wächst. Und ich konnte immer auf die Anzahl Einträge in der ersten Liste zugreifen, wie es Einträge in der zweiten Liste gab ...

Nochmals Danke und ... man schreibt sich ...

Philip
 
Zurück