diff options
Diffstat (limited to 'src/share/classes/java/awt')
-rw-r--r-- | src/share/classes/java/awt/AWTEvent.java | 7 | ||||
-rw-r--r-- | src/share/classes/java/awt/Component.java | 36 | ||||
-rw-r--r-- | src/share/classes/java/awt/ContainerOrderFocusTraversalPolicy.java | 12 | ||||
-rw-r--r-- | src/share/classes/java/awt/Dialog.java | 6 | ||||
-rw-r--r-- | src/share/classes/java/awt/EventQueue.java | 13 | ||||
-rw-r--r-- | src/share/classes/java/awt/MenuComponent.java | 17 | ||||
-rw-r--r-- | src/share/classes/java/awt/PopupMenu.java | 10 | ||||
-rw-r--r-- | src/share/classes/java/awt/Window.java | 6 |
8 files changed, 68 insertions, 39 deletions
diff --git a/src/share/classes/java/awt/AWTEvent.java b/src/share/classes/java/awt/AWTEvent.java index 768e42464..3fa01136d 100644 --- a/src/share/classes/java/awt/AWTEvent.java +++ b/src/share/classes/java/awt/AWTEvent.java @@ -32,6 +32,7 @@ import java.awt.peer.LightweightPeer; import java.lang.reflect.Field; import java.util.logging.Logger; import java.util.logging.Level; +import sun.awt.AWTAccessor; /** * The root event class for all AWT events. @@ -230,6 +231,12 @@ public abstract class AWTEvent extends EventObject { if (!GraphicsEnvironment.isHeadless()) { initIDs(); } + AWTAccessor.setAWTEventAccessor( + new AWTAccessor.AWTEventAccessor() { + public void setPosted(AWTEvent ev) { + ev.isPosted = true; + } + }); } private static synchronized Field get_InputEvent_CanAccessSystemClipboard() { diff --git a/src/share/classes/java/awt/Component.java b/src/share/classes/java/awt/Component.java index 06938ad01..e07fbe7c5 100644 --- a/src/share/classes/java/awt/Component.java +++ b/src/share/classes/java/awt/Component.java @@ -861,6 +861,17 @@ public abstract class Component implements ImageObserver, MenuContainer, public boolean isVisible_NoClientCode(Component comp) { return comp.isVisible_NoClientCode(); } + public void setRequestFocusController + (RequestFocusController requestController) + { + Component.setRequestFocusController(requestController); + } + public AppContext getAppContext(Component comp) { + return comp.appContext; + } + public void setAppContext(Component comp, AppContext appContext) { + comp.appContext = appContext; + } }); } @@ -9824,31 +9835,6 @@ public abstract class Component implements ImageObserver, MenuContainer, // ****************** END OF MIXING CODE ******************************** - private static boolean doesClassImplement(Class cls, String interfaceName) { - if (cls == null) return false; - - for (Class c : cls.getInterfaces()) { - if (c.getName().equals(interfaceName)) { - return true; - } - } - return doesClassImplement(cls.getSuperclass(), interfaceName); - } - - /** - * Checks that the given object implements the given interface. - * @param obj Object to be checked - * @param interfaceName The name of the interface. Must be fully-qualified interface name. - * @return true, if this object implements the given interface, - * false, otherwise, or if obj or interfaceName is null - */ - static boolean doesImplement(Object obj, String interfaceName) { - if (obj == null) return false; - if (interfaceName == null) return false; - - return doesClassImplement(obj.getClass(), interfaceName); - } - // Note that the method is overriden in the Window class, // a window doesn't need to be updated in the Z-order. void updateZOrder() { diff --git a/src/share/classes/java/awt/ContainerOrderFocusTraversalPolicy.java b/src/share/classes/java/awt/ContainerOrderFocusTraversalPolicy.java index 187ddc549..e3913a7ff 100644 --- a/src/share/classes/java/awt/ContainerOrderFocusTraversalPolicy.java +++ b/src/share/classes/java/awt/ContainerOrderFocusTraversalPolicy.java @@ -425,15 +425,13 @@ public class ContainerOrderFocusTraversalPolicy extends FocusTraversalPolicy } if (log.isLoggable(Level.FINE)) log.fine("### Cycle is " + cycle); - for (int i = 0; i < cycle.size(); i++) { - Component comp = cycle.get(i); + for (Component comp : cycle) { if (accept(comp)) { return comp; - } else if (comp instanceof Container && comp != aContainer) { - Container cont = (Container)comp; - if (cont.isFocusTraversalPolicyProvider()) { - return cont.getFocusTraversalPolicy().getDefaultComponent(cont); - } + } else if (comp != aContainer && + (comp = getComponentDownCycle(comp, FORWARD_TRAVERSAL)) != null) + { + return comp; } } } diff --git a/src/share/classes/java/awt/Dialog.java b/src/share/classes/java/awt/Dialog.java index a67d94a32..4660e6ea0 100644 --- a/src/share/classes/java/awt/Dialog.java +++ b/src/share/classes/java/awt/Dialog.java @@ -262,12 +262,6 @@ public class Dialog extends Window { TOOLKIT_EXCLUDE }; - /** - * @since 1.6 - */ - private final static ModalExclusionType DEFAULT_MODAL_EXCLUSION_TYPE = - ModalExclusionType.APPLICATION_EXCLUDE; - /* operations with this list should be synchronized on tree lock*/ transient static IdentityArrayList<Dialog> modalDialogs = new IdentityArrayList<Dialog>(); diff --git a/src/share/classes/java/awt/EventQueue.java b/src/share/classes/java/awt/EventQueue.java index 9697ad5e9..452305153 100644 --- a/src/share/classes/java/awt/EventQueue.java +++ b/src/share/classes/java/awt/EventQueue.java @@ -43,6 +43,7 @@ import sun.awt.AWTAutoShutdown; import sun.awt.PeerEvent; import sun.awt.SunToolkit; import sun.awt.EventQueueItem; +import sun.awt.AWTAccessor; /** * <code>EventQueue</code> is a platform-independent class @@ -154,6 +155,18 @@ public class EventQueue { private static final Logger eventLog = Logger.getLogger("java.awt.event.EventQueue"); + static { + AWTAccessor.setEventQueueAccessor( + new AWTAccessor.EventQueueAccessor() { + public EventQueue getNextQueue(EventQueue eventQueue) { + return eventQueue.nextQueue; + } + public Thread getDispatchThread(EventQueue eventQueue) { + return eventQueue.dispatchThread; + } + }); + } + public EventQueue() { for (int i = 0; i < NUM_PRIORITIES; i++) { queues[i] = new Queue(); diff --git a/src/share/classes/java/awt/MenuComponent.java b/src/share/classes/java/awt/MenuComponent.java index 1acb7f7c9..88ee32d7a 100644 --- a/src/share/classes/java/awt/MenuComponent.java +++ b/src/share/classes/java/awt/MenuComponent.java @@ -30,6 +30,7 @@ import java.io.IOException; import java.io.ObjectInputStream; import sun.awt.AppContext; import sun.awt.SunToolkit; +import sun.awt.AWTAccessor; import javax.accessibility.*; /** @@ -109,6 +110,22 @@ public abstract class MenuComponent implements java.io.Serializable { */ private static final long serialVersionUID = -4536902356223894379L; + static { + AWTAccessor.setMenuComponentAccessor( + new AWTAccessor.MenuComponentAccessor() { + public AppContext getAppContext(MenuComponent menuComp) { + return menuComp.appContext; + } + public void setAppContext(MenuComponent menuComp, + AppContext appContext) { + menuComp.appContext = appContext; + } + public MenuContainer getParent(MenuComponent menuComp) { + return menuComp.parent; + } + }); + } + /** * Creates a <code>MenuComponent</code>. * @exception HeadlessException if diff --git a/src/share/classes/java/awt/PopupMenu.java b/src/share/classes/java/awt/PopupMenu.java index 64ebe75c2..752c271e9 100644 --- a/src/share/classes/java/awt/PopupMenu.java +++ b/src/share/classes/java/awt/PopupMenu.java @@ -28,6 +28,7 @@ package java.awt; import java.awt.peer.PopupMenuPeer; import javax.accessibility.*; +import sun.awt.AWTAccessor; /** * A class that implements a menu which can be dynamically popped up @@ -48,6 +49,15 @@ public class PopupMenu extends Menu { transient boolean isTrayIconPopup = false; + static { + AWTAccessor.setPopupMenuAccessor( + new AWTAccessor.PopupMenuAccessor() { + public boolean isTrayIconPopup(PopupMenu popupMenu) { + return popupMenu.isTrayIconPopup; + } + }); + } + /* * JDK 1.1 serialVersionUID */ diff --git a/src/share/classes/java/awt/Window.java b/src/share/classes/java/awt/Window.java index 3726b7bad..aac5d3789 100644 --- a/src/share/classes/java/awt/Window.java +++ b/src/share/classes/java/awt/Window.java @@ -3658,7 +3658,7 @@ public class Window extends Container implements Accessible { private static void setLayersOpaque(Component component, boolean isOpaque) { // Shouldn't use instanceof to avoid loading Swing classes // if it's a pure AWT application. - if (Component.doesImplement(component, "javax.swing.RootPaneContainer")) { + if (SunToolkit.isInstanceOf(component, "javax.swing.RootPaneContainer")) { javax.swing.RootPaneContainer rpc = (javax.swing.RootPaneContainer)component; javax.swing.JRootPane root = rpc.getRootPane(); javax.swing.JLayeredPane lp = root.getLayeredPane(); @@ -3797,6 +3797,10 @@ public class Window extends Container implements Accessible { { return window.calculateSecurityWarningPosition(x, y, w, h); } + + public void setLWRequestStatus(Window changed, boolean status) { + changed.syncLWRequests = status; + } }); // WindowAccessor } // static |