diff options
Diffstat (limited to 'java/awt/DefaultKeyboardFocusManager.java')
-rw-r--r-- | java/awt/DefaultKeyboardFocusManager.java | 50 |
1 files changed, 8 insertions, 42 deletions
diff --git a/java/awt/DefaultKeyboardFocusManager.java b/java/awt/DefaultKeyboardFocusManager.java index bce6352a9..a60cefd9c 100644 --- a/java/awt/DefaultKeyboardFocusManager.java +++ b/java/awt/DefaultKeyboardFocusManager.java @@ -478,59 +478,25 @@ public class DefaultKeyboardFocusManager extends KeyboardFocusManager public void focusPreviousComponent (Component comp) { - Component focusComp = (comp == null) ? getGlobalFocusOwner () : comp; - Container focusCycleRoot = focusComp.getFocusCycleRootAncestor (); - FocusTraversalPolicy policy = focusCycleRoot.getFocusTraversalPolicy (); - - Component previous = policy.getComponentBefore (focusCycleRoot, focusComp); - if (previous != null) - previous.requestFocusInWindow (); + if (comp != null) + comp.transferFocusBackward(); } public void focusNextComponent (Component comp) { - Component focusComp = (comp == null) ? getGlobalFocusOwner () : comp; - Container focusCycleRoot = focusComp.getFocusCycleRootAncestor (); - FocusTraversalPolicy policy = focusCycleRoot.getFocusTraversalPolicy (); - - Component next = policy.getComponentAfter (focusCycleRoot, focusComp); - if (next != null) - next.requestFocusInWindow (); + if (comp != null) + comp.transferFocus(); } public void upFocusCycle (Component comp) { - Component focusComp = (comp == null) ? getGlobalFocusOwner () : comp; - Container focusCycleRoot = focusComp.getFocusCycleRootAncestor (); - - if (focusCycleRoot instanceof Window) - { - FocusTraversalPolicy policy = focusCycleRoot.getFocusTraversalPolicy (); - Component defaultComponent = policy.getDefaultComponent (focusCycleRoot); - if (defaultComponent != null) - defaultComponent.requestFocusInWindow (); - } - else - { - Container parentFocusCycleRoot = focusCycleRoot.getFocusCycleRootAncestor (); - - focusCycleRoot.requestFocusInWindow (); - setGlobalCurrentFocusCycleRoot (parentFocusCycleRoot); - } + if (comp != null) + comp.transferFocusUpCycle(); } public void downFocusCycle (Container cont) { - if (cont == null) - return; - - if (cont.isFocusCycleRoot (cont)) - { - FocusTraversalPolicy policy = cont.getFocusTraversalPolicy (); - Component defaultComponent = policy.getDefaultComponent (cont); - if (defaultComponent != null) - defaultComponent.requestFocusInWindow (); - setGlobalCurrentFocusCycleRoot (cont); - } + if (cont != null) + cont.transferFocusDownCycle(); } } // class DefaultKeyboardFocusManager |