Focus setzen

Helgon

Bekanntes Mitglied
Hey, ich hab folgendes Problem.

Ich kann keinen Fokus auf mein TextFeld setzen. Zu erwähnen sei, dass das TextFeld in auf nem Tabbed Pane liegt. Stattdessen wird auch der Fokus auf den Tab oben gesetzt. In den Docs steht ja das:

Java:
 void	requestFocus() 
          Requests that this Component get the input focus, and that this Component's top-level ancestor become the focused Window.

"Component's top-level ancestor become the focused Window" - deswegen vllt? Wie kann ich das umgehen / wie muss ichs machen damit es klappt? CaretPosition einfach zu setzen klappt auch nicht.

Grüße
 
Hmmmm, du willst den Blinkecursor ins Textfeld bekommen, richtiig?

Ist das Textfeld denn überhauot fokussierbar (Eigenschaft focusable glaub ich bzw. setFocusable(true)). Wusste zwar nicht, dass Textedits auch nicht fokussierbar sein können, aber man lernt ja nie aus 😀
 
Ja, damit direkt mit der Eingabe begonnen werden kann ohne lästiges anklicken xD

Hattes zwar nicht gesetzt, ändert aber nix.

jTextField1.setFocusable(true);
jTextField1.requestFocus();
jTextField1.setCaretPosition(0);
jTextField1.grabFocus();

Nix davon klappt :/

Wie gesagt, es hängt sehr wahrscheinlich (warum auch sonst, normalerweise klappts ja) damit zusamen, dass es im TabbedPane liegt.
 
Zuletzt bearbeitet:
->
Code:
requestFocusInWindow();

Requests that this Component get the input focus, if this Component's top-level ancestor is already the focused Window. This component must be displayable, focusable, visible and all of its ancestors (with the exception of the top-level Window) must be visible for the request to be granted. Every effort will be made to honor the request; however, in some cases it may be impossible to do so. Developers must never assume that this Component is the focus owner until this Component receives a FOCUS_GAINED event.
 

Neue Themen


Zurück
Oben