From 050d3e13d8b3ca7f26c017aa98e32cd86653bed4 Mon Sep 17 00:00:00 2001 From: Michael Koch Date: Mon, 24 Mar 2003 13:50:32 +0000 Subject: 2003-03-24 Michael Koch * java/awt/ContainerOrderFocusTraversalPolicy.java (getFirstComponent): Implemented. (getLastComponent): Implemented. (getDefaultComponent): Implemented. (setImplicitDownCycleTraversal): Fixed implementation. * java/awt/Robot.java (Robot): Added documentation. * java/awt/Toolkit.java (getFontList): Deprecated. (getFontMetrics): Deprecated. (getPrintJob): Added documentation. (getSystemSelection): Added documentation. (getLockingKeyState): Added documentation. (setLockingKeyState): Added documentation. (createCustomCursor): Added documentation. (getBestCursorSize): Added documentation. (getMaximumCursorColors): Added documentation. (isFrameStateSupported): Added documentation. From-SVN: r64798 --- .../awt/ContainerOrderFocusTraversalPolicy.java | 61 ++++++++++++++++++++-- 1 file changed, 56 insertions(+), 5 deletions(-) (limited to 'libjava/java/awt/ContainerOrderFocusTraversalPolicy.java') diff --git a/libjava/java/awt/ContainerOrderFocusTraversalPolicy.java b/libjava/java/awt/ContainerOrderFocusTraversalPolicy.java index 1042939c076..ce4bdf8bc0e 100644 --- a/libjava/java/awt/ContainerOrderFocusTraversalPolicy.java +++ b/libjava/java/awt/ContainerOrderFocusTraversalPolicy.java @@ -104,6 +104,33 @@ public class ContainerOrderFocusTraversalPolicy extends FocusTraversalPolicy if (root == null) throw new IllegalArgumentException (); + if (!root.isVisible () + || !root.isDisplayable ()) + return null; + + if (accept (root)) + return root; + + Component[] componentArray = root.getComponents (); + + for (int i = 0; i < componentArray.length; i++) + { + Component component = componentArray [i]; + + if (component instanceof Container) + { + Component result = getLastComponent ((Container) component); + + if (result != null) + return result; + } + else + { + if (accept (component)) + return component; + } + } + return null; } @@ -117,6 +144,33 @@ public class ContainerOrderFocusTraversalPolicy extends FocusTraversalPolicy if (root == null) throw new IllegalArgumentException (); + if (!root.isVisible () + || !root.isDisplayable ()) + return null; + + if (accept (root)) + return root; + + Component[] componentArray = root.getComponents (); + + for (int i = componentArray.length - 1; i >= 0; i++) + { + Component component = componentArray [i]; + + if (component instanceof Container) + { + Component result = getLastComponent ((Container) component); + + if (result != null) + return result; + } + else + { + if (accept (component)) + return component; + } + } + return null; } @@ -127,15 +181,12 @@ public class ContainerOrderFocusTraversalPolicy extends FocusTraversalPolicy */ public Component getDefaultComponent(Container root) { - if (root == null) - throw new IllegalArgumentException (); - - return null; + return getFirstComponent (root); } public void setImplicitDownCycleTraversal(boolean value) { - boolean implicitDownCycleTraversal = value; + implicitDownCycleTraversal = value; } public boolean getImplicitDownCycleTraversal() -- cgit v1.2.3