# requestFocusInWindow



## The_S (9. Jun 2006)

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.


```
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;


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

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


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


```
public void focus() {
    textfield.requestFocusInWindow();
}
```

leider beides ohne Erfolg . Was mache ich falsch?


----------



## thE_29 (9. Jun 2006)

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


----------



## André Uhres (9. Jun 2006)

Probier's mal so:
Zuerst requestFocusInWindow für's JTabbedPane.
Dann mit SwingUtilities.invokeLater requestFocusInWindow für's JTextField.


----------



## The_S (9. Jun 2006)

Danke, funktioniert.


----------

