gleiches Element in JList mehrmals hintereinander auswählen

MK234

Aktives Mitglied
Hallo,

ich versuche gerade ein Programm mit einer JList zu schreiben, in welcher dasselbe Element mehrmals
hintereinander auswählt werden kann.
Leider klappt dies bisher nicht, ich muß vor einer direkten erneuten Auswahl des gleichen Elements vorher ein anderes Element auswählen, damit dies klappt.

Hat jemand eine Idee wie ich das realisieren kann?

Danke im voraus.
 
Das eine Element ist wirklich nur EINmal enthalten, und es geht darum, ListSelectionEvents zu bekommen, auch wenn sich an der Selection nichts ändert? Das ginge so direkt AFAIK erstmal nicht, da müßte man wohl den Umweg über einen MouseListener gehen...
 
Die Frage wäre viel eher, warum das Programm überhaupt ein Element mehrmals auswählen sollte. Wenn es nur darum geht den SelectionListener abzufeuern ist das die falsche Herangehensweise.
 
Jedes einzelne Element versetzt das Programm in einen bestimmten Zustand, welcher nachdem er durch das Element hergestellt wurde, weiter bearbeitet werden kann. Jedoch soll während dieser Bearbeitung immer die Möglichkeit bestehen in diesen sog. Anfangszustand ohne Umwege zurückzuspringen.
 
in dem fall würd ich wirklich den mouselistener nehmen...

oder:

nen focuslistener, der die selection deaktiviert (kannst ja das "eigentlich" selektierte im foreground oder background anders färben) und dann bekommste auch wieder nen neues selectionEvent wenn dein Element selektiert wird... 😉
 
Japp, die JList ist eben dafür gemacht, nur dann ein SelectionEvent zu werfen, wenn die Selection auch verändert wurde. Aber es gibt die schöne Funktion locationToIndex(Point p);
MouseListener mouseListener = new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
int index = list.locationToIndex(e.getPoint());
System.out.println("Double clicked on Item " + index);
}
}
};
list.addMouseListener(mouseListener);
 

Zurück
Oben