AWT Fokus von Component entfernen, wenn kein anderes vorhanden

chaostheory

Bekanntes Mitglied
Hallo,
ich schreibe momentan ein 2D-Spiel mit dem JFrame aus Swing und Graphics usw. aus AWT. Für das Hauptmenü benutze ich Buttons, doch ich bin auf ein Problem gestoßen:
Setzt man den Fokus auf ein Textfeld, erhält nur noch dieses die Tastatureingaben. Das ist ja in Ordnung, aber da es meine einzige (sichtabre) Komponente ist, kann ich den Fokus nicht verschieben.
Es gibt keine Methode, um den Fokus zu entfernen und so kommt man nicht mehr aus dem Textfeld raus.

Gibt es da irgendeine Möglichkeit, den Fokus zu entfernen, obwohl alle anderen Komponenten invisible sind?
 
setFocus(false) ?

darauf wirst du sicherlich schon selber gekommen sein ...

was wenn du den fokus auf nen button bzw auf composite/dialog selber?
 
Ja, es gibt ein Möglichkeit, und zwar indem du den Container bzw. JPanel auf den geklickt werden kann/soll, einen MouseListener zuweist (und vorher mit
Code:
setFocusable(true)
fokusierbar machst). Dies wäre in deinem Fall dann wahrscheinlich die ContentPane des JFrames. Somit verliert das JTextField den Fokus bei einem Klick auf diesen Container bzw. JPanel.
 
es ist trotzdem darauf hinaus gekommen das du den fokus auf das fenster legst 😉

aber egal, hauptsache ist ja das es nun geht 🙂
 

Zurück
Oben