aboutsummaryrefslogtreecommitdiff
path: root/src/share/classes/java/awt
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/classes/java/awt')
-rw-r--r--src/share/classes/java/awt/AWTEvent.java7
-rw-r--r--src/share/classes/java/awt/Component.java36
-rw-r--r--src/share/classes/java/awt/ContainerOrderFocusTraversalPolicy.java12
-rw-r--r--src/share/classes/java/awt/Dialog.java6
-rw-r--r--src/share/classes/java/awt/EventQueue.java13
-rw-r--r--src/share/classes/java/awt/MenuComponent.java17
-rw-r--r--src/share/classes/java/awt/PopupMenu.java10
-rw-r--r--src/share/classes/java/awt/Window.java6
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