requestFocusInWindow

Status
Nicht offen für weitere Antworten.

The_S

Top Contributor
Morgen,

hab da ma n Problem:

Ich habe eine Klasse die von JFrame erbt, das Pane des JFrames ist mittels BorderLaoyut zweigeteilt, in der oberen hälfte liegt ein JTabbedPane, unten eine Reihe von Componenten (JButtons, etc.). Bei einem bestimmten Buttonklick wird dem JTabbedPane ein neuer Reiter inkl. einem neuen Object einer Klasse, welche von JPanel erbt hinzugefügt.

Code:
PanelKlasse kp = new PanelKlasse();
tabbedpane.add("blup", kp);

Funktioniert auch wunderbar. jetzt hat nur diese PanelKlasse einige Textfelder, von denen ein bestimmtes den Focus sofort erhalten soll. Funktioniert aber nicht, weil immer der gedrückte Button den Focus behält ???:L . Habs bis jetzt auf zwei Wegen vesucht dem JTextField den Focus zu geben.

1.) mittels getter das entsprechende Textfeld hohlen und den Focus zuweisen;

Code:
PanelKlasse kp = new PanelKlasse();
tabbedpane.add("blup", kp);
kp.getTextField().requestFocusInWindow();

2.) eine Methode in PanelKlasse anlegen, die den Focus zuweist:

Code:
PanelKlasse kp = new PanelKlasse();
tabbedpane.add("blup", kp);
kp.focus();

Code:
public void focus() {
    textfield.requestFocusInWindow();
}

leider beides ohne Erfolg :(. Was mache ich falsch?
 

thE_29

Top Contributor
Du musst im Button bei onReleased sagen, das dann das andere den Focus haben soll!!
 

André Uhres

Top Contributor
Probier's mal so:
Zuerst requestFocusInWindow für's JTabbedPane.
Dann mit SwingUtilities.invokeLater requestFocusInWindow für's JTextField.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen

Ähnliche Java Themen


Oben