--- a/jdk/src/share/classes/sun/awt/SunToolkit.java Thu May 17 21:31:55 2012 +0400
+++ b/jdk/src/share/classes/sun/awt/SunToolkit.java Thu May 17 21:48:57 2012 +0400
@@ -461,48 +461,11 @@
AWTAccessor.getWindowAccessor().setLWRequestStatus(changed, status);
};
- public static void checkAndSetPolicy(Container cont, boolean isSwingCont)
- {
- FocusTraversalPolicy defaultPolicy = KeyboardFocusManager
- .getCurrentKeyboardFocusManager().getDefaultFocusTraversalPolicy();
-
- String toolkitName = Toolkit.getDefaultToolkit().getClass().getName();
- // if this is not XAWT then use default policy
- // because Swing change it
- if (!"sun.awt.X11.XToolkit".equals(toolkitName)) {
- cont.setFocusTraversalPolicy(defaultPolicy);
- return;
- }
-
- String policyName = defaultPolicy.getClass().getName();
+ public static void checkAndSetPolicy(Container cont) {
+ FocusTraversalPolicy defaultPolicy = KeyboardFocusManager.
+ getCurrentKeyboardFocusManager().
+ getDefaultFocusTraversalPolicy();
- if (DefaultFocusTraversalPolicy.class != defaultPolicy.getClass()) {
- // Policy was changed
- // Check if it is awt policy or swing policy
- // If it is Swing policy we shouldn't use it in AWT frames
- // If it is AWT policy we shouldn't use it in Swing frames
- // Otherwise we should use this policy
- if (policyName.startsWith("java.awt.")) {
- // AWT
- if (isSwingCont) {
- // Can't use AWT policy in Swing windows - should use Swing's one.
- defaultPolicy = createLayoutPolicy();
- } else {
- // New awt policy.
- }
- } else if (policyName.startsWith("javax.swing.")) {
- if (isSwingCont) {
- // New Swing's policy
- } else {
- defaultPolicy = new DefaultFocusTraversalPolicy();
- }
- }
- } else {
- // Policy is default, use different default policy for swing
- if (isSwingCont) {
- defaultPolicy = createLayoutPolicy();
- }
- }
cont.setFocusTraversalPolicy(defaultPolicy);
}