Hallo allerseits
das Java-Fokus-System treibt mich mal wieder Nüsse... ???:L
Ich habe eine JTabbedPane mit etlichen Panels, zwischen denen ich hin- und herswitche.
Auf Tab B habe ich drei Buttons und mehrere Eingabefelder (JTextFields).
Drücke ich auf einen Button ("Abbrechen"), komme ich auf Tab A (Hauptpanel).
Soweit, so gut.
Nun will ich ein JTextField auf Tab A automatisch fokussieren (ohne dass der User selber reinklicken muss). Also nehme ich requestFocusInWindow(). Funktioniert auch oft, aber eben nicht unter allen Umständen.
Habe ich (auf Tab B) eine Eingabe in einem der Eingabefelder drin stehen, und klicke dann
auf Abbrechen, bekommt das JTextField auf Tab A den Fokus (ich checke "focusGained"),
verliert ihn dann aber automatisch wieder ("focusLost" wird unmittelbar danach gefeuert),
und ein unbeteiligter Button (wahrscheinlich der oberste der Hierarchie) kriegt den Fokus dann.
:bahnhof:
Habe ich keine Eingabe in dem Eingabefeld drinstehen (der Fokus kann aber ruhig dort drin sein),
und klicke dann auf Abbrechen, ist alles bestens, mein JTextField auf Panel A hat dann den Fokus,
und behält ihn auch.
Java 1.6.12, Windows XP
Kann ich eigentlich im IntelliJ im GUI Designer irgendwie die Tab-Reihenfolge der Komponenten anpassen, oder muss ich das per Code machen?!
viele Grüße
Olli
das Java-Fokus-System treibt mich mal wieder Nüsse... ???:L
Ich habe eine JTabbedPane mit etlichen Panels, zwischen denen ich hin- und herswitche.
Auf Tab B habe ich drei Buttons und mehrere Eingabefelder (JTextFields).
Drücke ich auf einen Button ("Abbrechen"), komme ich auf Tab A (Hauptpanel).
Soweit, so gut.
Nun will ich ein JTextField auf Tab A automatisch fokussieren (ohne dass der User selber reinklicken muss). Also nehme ich requestFocusInWindow(). Funktioniert auch oft, aber eben nicht unter allen Umständen.
Habe ich (auf Tab B) eine Eingabe in einem der Eingabefelder drin stehen, und klicke dann
auf Abbrechen, bekommt das JTextField auf Tab A den Fokus (ich checke "focusGained"),
verliert ihn dann aber automatisch wieder ("focusLost" wird unmittelbar danach gefeuert),
und ein unbeteiligter Button (wahrscheinlich der oberste der Hierarchie) kriegt den Fokus dann.
:bahnhof:
Habe ich keine Eingabe in dem Eingabefeld drinstehen (der Fokus kann aber ruhig dort drin sein),
und klicke dann auf Abbrechen, ist alles bestens, mein JTextField auf Panel A hat dann den Fokus,
und behält ihn auch.
Java 1.6.12, Windows XP
Kann ich eigentlich im IntelliJ im GUI Designer irgendwie die Tab-Reihenfolge der Komponenten anpassen, oder muss ich das per Code machen?!
viele Grüße
Olli