G
Guest
Gast
Hallo,
ich habe folgendes Problem: Ich habe ein JTabbedPane("tabbedPane") mit 2 JPanels("panel1", "panel2"), im ersten Tab befindet sich ein JPanel mit mehreren JTextPanes("textPane1", "textPane2", "textPane3", "textPane4"). Nun möchte ich, dass wenn man zum ersten Tab wechselt automatisch ein das "textPane4" den InputFocus bekommt.
Ich habe versucht das ganze folgendermassen zu realisieren: Über einen ChangeListener beim "tabbedPane" werden ChangeEvents abgefangen und sobald vom zweiten zum ersten Tab gewechselt wird, wird über "textPane4" die Methode "requestFocusInWindow()" aufgerufen. Jedoch bekommt das "textPane4" den focus nicht.
Ich bin mir nicht ganz sicher was das Problem sein könnte, meine Vermutung ist aber: Der ChangeEvent wird vor dem Anzeigen des Tabs aufgerufen, dann wird der focus gesetzt. Sobald das Tab dann aber angezeigt wird, wird automatisch ein focus gesetzt. Bei dem ganzen handelt es sich aber nur um eine Vermutung, da ich mich mit dem Anzeigen der Tabs und dem FocusManagement nicht auskenne.
Ich habe dann einiges ausprobiert und bin durch Hilfe dann auf das gestossen:
So würde es funktionieren, jedoch verstehe ich nicht warum. Würde mich über Hilfe für mein Problem freuen.
Gruss Lukas
ich habe folgendes Problem: Ich habe ein JTabbedPane("tabbedPane") mit 2 JPanels("panel1", "panel2"), im ersten Tab befindet sich ein JPanel mit mehreren JTextPanes("textPane1", "textPane2", "textPane3", "textPane4"). Nun möchte ich, dass wenn man zum ersten Tab wechselt automatisch ein das "textPane4" den InputFocus bekommt.
Ich habe versucht das ganze folgendermassen zu realisieren: Über einen ChangeListener beim "tabbedPane" werden ChangeEvents abgefangen und sobald vom zweiten zum ersten Tab gewechselt wird, wird über "textPane4" die Methode "requestFocusInWindow()" aufgerufen. Jedoch bekommt das "textPane4" den focus nicht.
Ich bin mir nicht ganz sicher was das Problem sein könnte, meine Vermutung ist aber: Der ChangeEvent wird vor dem Anzeigen des Tabs aufgerufen, dann wird der focus gesetzt. Sobald das Tab dann aber angezeigt wird, wird automatisch ein focus gesetzt. Bei dem ganzen handelt es sich aber nur um eine Vermutung, da ich mich mit dem Anzeigen der Tabs und dem FocusManagement nicht auskenne.
Ich habe dann einiges ausprobiert und bin durch Hilfe dann auf das gestossen:
Code:
SwingUtilities.invokeLater(new Runnable() {
public void run() {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
m_rightInputField.requestFocusInWindow(); // bei mir in der Erklärung textPane4
}
});
}
});
So würde es funktionieren, jedoch verstehe ich nicht warum. Würde mich über Hilfe für mein Problem freuen.
Gruss Lukas