Focusreihenfolge festlegen

MarkusG

Mitglied
Hallo alle zusammen,

ich habe auf einer Maske mehrere Panels. Innerhalb dieser Panel befinden sich unterschiedliche Textkomponenten (JTextfield, JTextArea usw.). Wie kann ich eine Focusierreihenfolge festlegen? Ich habe auf der linken Seite des Panel drei JTextFields untereinander und auf der rechten Seite eine JTextArea. Wenn sich der Focus nun auf dem ersten Textfeld befindet und ich die Tabulatortaste betätige, springt der Focus zur TextArea. Ich möchte allerdings erzwingen, dass zuerst alle drei JTextFields "abgearbeitet" werden und danach die JTextArea.
Weiß jemand wie das funktioniert?

Vielen Dank im Voraus.

P.S.: Hab danach bereits in diesem Forumsteil mit Hilfe der Suchfunktion nach Focus, Selektion ... gesucht jedoch nichts hierzu gefunden.



Mfg. Markus
 
...ganz so leicht wie im HTML-Formular scheint es nicht zu gehen.

Ich hatte mir bei AWT mit einer Ableitung geholfen:

Code:
public IntelligentesTextfeld extends TextField {
 
private IntelligentesTextfeld next;
 
public IntelligentesTextfeld(int i) {
  super(i);
}
 
public IntelligentesTextfeld(String s) {
  super(s);
}
 
public IntelligentesTextfeld(String s, int i) {
  super(s, i);
}
 
public setIntelligentesTextfeldNext(IntelligentesTextfeld next) {
  this.next = next;
}
 
public void transferFocus() {
  if (next != null) next.requestFocus();
}
CU schnuffie :)
 
Vielen Dank für die schnelle Antwort.

Ich habe gerade im Sun Tutorial entdeckt, dass die Methode setNextFocusableComponent nicht mehr verwendet wird.

Stattdessen ist anscheinend die Klasse FocusTraversalPolicy zu verwenden.

In einem Sun-Beispiel wird von der Klasse FocusTraversalPolicy abgeleitet und danach die entsprechenden Methoden, wie z.B. getComponentAfter(Container focusCycleRoot,
Component aComponent), getComponentBefore(Container focusCycleRoot, Component aComponent), an die eigenen Bedürfnisse (Komponentnamen, Reihenfolge usw.) angepasst.


Mfg. Markus
 
...naja, wenn's das gibt - ist doch prima! Dann kannst Du ja auch mal Deinen fertigen (funktionstüchtigen) Code posten, dann kann ich auch noch was lernen.

Cu schnuffie
 

Neue Beiträge

Zurück