Puoi fare tutto "a mano" senza utilizzare il GUI builder di Netbeans, definendo un FocusTraversalPolicy personalizzato. Ad esempio:
Codice PHP:
...
Vector<Component> order = new Vector<Component>(4);
order.add(tf1);
order.add(tf2);
order.add(tf3);
order.add(tf4);
MyOwnFocusTraversalPolicy newPolicy = new MyOwnFocusTraversalPolicy(order);
tuoJFrame.setFocusTraversalPolicy(newPolicy);
...
Con tf1, tf2.. sono i tuoi componenti nell'ordine desiderato.
La classe personalizzata:
Codice PHP:
public static class MyOwnFocusTraversalPolicy
extends FocusTraversalPolicy
{
Vector<Component> order;
public MyOwnFocusTraversalPolicy(Vector<Component> order) {
this.order = new Vector<Component>(order.size());
this.order.addAll(order);
}
public Component getComponentAfter(Container focusCycleRoot,
Component aComponent)
{
int idx = (order.indexOf(aComponent) + 1) % order.size();
return order.get(idx);
}
public Component getComponentBefore(Container focusCycleRoot,
Component aComponent)
{
int idx = order.indexOf(aComponent) - 1;
if (idx < 0) {
idx = order.size() - 1;
}
return order.get(idx);
}
public Component getDefaultComponent(Container focusCycleRoot) {
return order.get(0);
}
public Component getLastComponent(Container focusCycleRoot) {
return order.lastElement();
}
public Component getFirstComponent(Container focusCycleRoot) {
return order.get(0);
}
}
Trovi un esempio completo qui