JPanel und FocusListener

ellion

Erfahrenes Mitglied
Hallo ihr!

Ich habe eine kleine Frage, wie ich etwas am Besten umsetze:

Ich habe eine Klasse, die um ein JPanel erweitert ist. Diese Klasse wird nachher (mehrfach) auf ein anderes JPanel gepackt. Beim Draufklicken wird der Rand farbig hervorgehoben, quasi als Auswahl. Nun soll allerdings immer nur ein JPanel ausgewählt sein, also bei Klick wird überprüft ob bereits eins ausgewählt ist und dieses wird dann wieder zurückgesetzt auf den Anfangsstatus.

Meine Frage ist nun allerdings, wie ich das am Besten umsetze. Eigentlich wollte ich einen FocusListener benutzen, der bei FocusGained() das JPanel hervorhebt und bei FocusLost() wieder zurücksetzt. Leider wird keine der beiden Funktionen dann ausgelöst, auch nicht, wenn ich vorher JPanel.setFocusable(true) mache. Soll ich stattdessen einfach einen MouseListener nehmen und in eine Variable speichern, welches Feld vorher hervorgehoben war? Oder habt ihr Ideen bzgl. FocusListener?

Hoffe das ist verständlich.

Gruß,
Daniel
 
Ups, da war ich etwas voreilig. Hab's jetzt hinbekommen.

Falls es jemanden interessiert:

Ich hab jetzt zwei Listener: MouseListener und FocusListener. Bei MouseClick auf das Panel führt er requestFocus() für das Panel aus. Daraufhin wird der FocusListener aktiv. Dieser regelt mit FocusGained() und FocusLost() das Aussehen jedes Panels! Hooray! :D
 
Zurück