diff -Nru openjdk.orig/jdk/src/share/classes/java/awt/Window.java openjdk/jdk/src/share/classes/java/awt/Window.java
--- openjdk.orig/jdk/src/share/classes/java/awt/Window.java	2012-09-19 14:30:11.949624069 +0100
+++ openjdk/jdk/src/share/classes/java/awt/Window.java	2012-09-19 14:33:18.101297411 +0100
@@ -362,6 +362,70 @@
             public void setLWRequestStatus(Window changed, boolean status) {
                 changed.syncLWRequests = status;
             }
+            public float getOpacity(Window window) {
+                return window.opacity;
+            }
+            public void setOpacity(Window window, float opacity) {
+                window.setOpacity(opacity);
+            }
+            public Shape getShape(Window window) {
+                return window.getShape();
+            }
+            public void setShape(Window window, Shape shape) {
+                window.setShape(shape);
+            }
+            public boolean isOpaque(Window window) {
+                /*
+                return window.getBackground().getAlpha() < 255;
+                */
+                synchronized (window.getTreeLock()) {
+                    return window.opaque;
+                }
+            }
+            public void setOpaque(Window window, boolean opaque) {
+                /*
+                Color bg = window.getBackground();
+                window.setBackground(new Color(bg.getRed(), bg.getGreen(), bg.getBlue(),
+                                               opaque ? 255 : 0));
+                */
+                window.setOpaque(opaque);
+            }
+            public void updateWindow(Window window, BufferedImage backBuffer) {
+                window.updateWindow(backBuffer);
+            }
+
+            public Dimension getSecurityWarningSize(Window window) {
+                return new Dimension(window.securityWarningWidth,
+                        window.securityWarningHeight);
+            }
+
+            public void setSecurityWarningSize(Window window, int width, int height)
+            {
+                window.securityWarningWidth = width;
+                window.securityWarningHeight = height;
+            }
+
+            public void setSecurityWarningPosition(Window window,
+                    Point2D point, float alignmentX, float alignmentY)
+            {
+                window.securityWarningPointX = point.getX();
+                window.securityWarningPointY = point.getY();
+                window.securityWarningAlignmentX = alignmentX;
+                window.securityWarningAlignmentY = alignmentY;
+
+                synchronized (window.getTreeLock()) {
+                    WindowPeer peer = (WindowPeer)window.getPeer();
+                    if (peer != null) {
+                        peer.repositionSecurityWarning();
+                    }
+                }
+            }
+
+            public Point2D calculateSecurityWarningPosition(Window window,
+                    double x, double y, double w, double h)
+            {
+                return window.calculateSecurityWarningPosition(x, y, w, h);
+            }
         });
     }
 
@@ -3504,75 +3568,6 @@
                 y + h * securityWarningAlignmentY + securityWarningPointY);
     }
 
-    static {
-        AWTAccessor.setWindowAccessor(new AWTAccessor.WindowAccessor() {
-            public float getOpacity(Window window) {
-                return window.opacity;
-            }
-            public void setOpacity(Window window, float opacity) {
-                window.setOpacity(opacity);
-            }
-            public Shape getShape(Window window) {
-                return window.getShape();
-            }
-            public void setShape(Window window, Shape shape) {
-                window.setShape(shape);
-            }
-            public boolean isOpaque(Window window) {
-                /*
-                return window.getBackground().getAlpha() < 255;
-                */
-                synchronized (window.getTreeLock()) {
-                    return window.opaque;
-                }
-            }
-            public void setOpaque(Window window, boolean opaque) {
-                /*
-                Color bg = window.getBackground();
-                window.setBackground(new Color(bg.getRed(), bg.getGreen(), bg.getBlue(),
-                                               opaque ? 255 : 0));
-                */
-                window.setOpaque(opaque);
-            }
-            public void updateWindow(Window window, BufferedImage backBuffer) {
-                window.updateWindow(backBuffer);
-            }
-
-            public Dimension getSecurityWarningSize(Window window) {
-                return new Dimension(window.securityWarningWidth,
-                        window.securityWarningHeight);
-            }
-
-            public void setSecurityWarningSize(Window window, int width, int height)
-            {
-                window.securityWarningWidth = width;
-                window.securityWarningHeight = height;
-            }
-
-            public void setSecurityWarningPosition(Window window,
-                    Point2D point, float alignmentX, float alignmentY)
-            {
-                window.securityWarningPointX = point.getX();
-                window.securityWarningPointY = point.getY();
-                window.securityWarningAlignmentX = alignmentX;
-                window.securityWarningAlignmentY = alignmentY;
-
-                synchronized (window.getTreeLock()) {
-                    WindowPeer peer = (WindowPeer)window.getPeer();
-                    if (peer != null) {
-                        peer.repositionSecurityWarning();
-                    }
-                }
-            }
-
-            public Point2D calculateSecurityWarningPosition(Window window,
-                    double x, double y, double w, double h)
-            {
-                return window.calculateSecurityWarningPosition(x, y, w, h);
-            }
-        }); // WindowAccessor
-    } // static
-
 } // class Window
 
 
diff -Nru openjdk.orig/jdk/src/share/classes/sun/awt/AWTAccessor.java openjdk/jdk/src/share/classes/sun/awt/AWTAccessor.java
--- openjdk.orig/jdk/src/share/classes/sun/awt/AWTAccessor.java	2012-09-19 14:30:11.949624069 +0100
+++ openjdk/jdk/src/share/classes/sun/awt/AWTAccessor.java	2012-09-19 14:57:03.147675653 +0100
@@ -26,6 +26,8 @@
 package sun.awt;
 
 import java.awt.*;
+import java.awt.geom.Point2D;
+import java.awt.image.BufferedImage;
 
 import sun.misc.Unsafe;
 
@@ -63,6 +65,55 @@
          * components in the specified window to the specified value.
          */
         void setLWRequestStatus(Window changed, boolean status);
+        /*
+         * Get opacity level of the given window.
+         */
+        float getOpacity(Window window);
+        /*
+         * Set opacity level to the given window.
+         */
+        void setOpacity(Window window, float opacity);
+        /*
+         * Get a shape assigned to the given window.
+         */
+        Shape getShape(Window window);
+        /*
+         * Set a shape to the given window.
+         */
+        void setShape(Window window, Shape shape);
+        /*
+         * Identify whether the given window is opaque (true)
+         *  or translucent (false).
+         */
+        boolean isOpaque(Window window);
+        /*
+         * Set the opaque preoperty to the given window.
+         */
+        void setOpaque(Window window, boolean isOpaque);
+        /*
+         * Update the image of a non-opaque (translucent) window.
+         */
+        void updateWindow(Window window, BufferedImage backBuffer);
+
+        /** Get the size of the security warning.
+         */
+        Dimension getSecurityWarningSize(Window w);
+
+        /**
+         * Set the size of the security warning.
+         */
+        void setSecurityWarningSize(Window w, int width, int height);
+
+        /** Set the position of the security warning.
+         */
+        void setSecurityWarningPosition(Window w, Point2D point,
+                float alignmentX, float alignmentY);
+
+        /** Request to recalculate the new position of the security warning for
+         * the given window size/location as reported by the native system.
+         */
+        Point2D calculateSecurityWarningPosition(Window window,
+                double x, double y, double w, double h);
     }
 
     /*
@@ -147,61 +198,6 @@
     }
 
     /*
-     * An interface of accessor for java.awt.Window class.
-     */
-    public interface WindowAccessor {
-        /*
-         * Get opacity level of the given window.
-         */
-        float getOpacity(Window window);
-        /*
-         * Set opacity level to the given window.
-         */
-        void setOpacity(Window window, float opacity);
-        /*
-         * Get a shape assigned to the given window.
-         */
-        Shape getShape(Window window);
-        /*
-         * Set a shape to the given window.
-         */
-        void setShape(Window window, Shape shape);
-        /*
-         * Identify whether the given window is opaque (true)
-         *  or translucent (false).
-         */
-        boolean isOpaque(Window window);
-        /*
-         * Set the opaque preoperty to the given window.
-         */
-        void setOpaque(Window window, boolean isOpaque);
-        /*
-         * Update the image of a non-opaque (translucent) window.
-         */
-        void updateWindow(Window window, BufferedImage backBuffer);
-
-        /** Get the size of the security warning.
-         */
-        Dimension getSecurityWarningSize(Window w);
-
-        /**
-         * Set the size of the security warning.
-         */
-        void setSecurityWarningSize(Window w, int width, int height);
-
-        /** Set the position of the security warning.
-         */
-        void setSecurityWarningPosition(Window w, Point2D point,
-                float alignmentX, float alignmentY);
-
-        /** Request to recalculate the new position of the security warning for
-         * the given window size/location as reported by the native system.
-         */
-        Point2D calculateSecurityWarningPosition(Window window,
-                double x, double y, double w, double h);
-    }
-
-    /*
      * An accessor for the AWTEvent class.
      */
     public interface AWTEventAccessor {
