src/java.desktop/unix/classes/sun/awt/X11/XEmbeddedFrame.java

Print this page

        

@@ -24,12 +24,15 @@
  */
 
 package sun.awt.X11;
 
 import java.awt.AWTKeyStroke;
+import java.awt.Component;
 import java.awt.Toolkit;
+import java.awt.peer.ComponentPeer;
 
+import sun.awt.AWTAccessor;
 import sun.awt.EmbeddedFrame;
 import sun.util.logging.PlatformLogger;
 
 @SuppressWarnings("serial") // JDK-implementation class
 public class XEmbeddedFrame extends EmbeddedFrame {

@@ -61,14 +64,13 @@
                 show();
             }
         }
     }
 
-    @SuppressWarnings("deprecation")
     public void addNotify()
     {
-        if (getPeer() == null) {
+        if (!isDisplayable()) {
             XToolkit toolkit = (XToolkit)Toolkit.getDefaultToolkit();
             setPeer(toolkit.createEmbeddedFrame(this));
         }
         super.addNotify();
     }

@@ -78,26 +80,26 @@
     }
 
     /*
      * The method shouldn't be called in case of active XEmbed.
      */
-    @SuppressWarnings("deprecation")
     public boolean traverseIn(boolean direction) {
-        XEmbeddedFramePeer peer = (XEmbeddedFramePeer)getPeer();
+        XEmbeddedFramePeer peer = AWTAccessor.getComponentAccessor()
+                                             .getPeer(this);
         if (peer != null) {
             if (peer.supportsXEmbed() && peer.isXEmbedActive()) {
                 log.fine("The method shouldn't be called when XEmbed is active!");
             } else {
                 return super.traverseIn(direction);
             }
         }
         return false;
     }
 
-    @SuppressWarnings("deprecation")
     protected boolean traverseOut(boolean direction) {
-        XEmbeddedFramePeer xefp = (XEmbeddedFramePeer) getPeer();
+        XEmbeddedFramePeer xefp = AWTAccessor.getComponentAccessor()
+                                             .getPeer(this);
         if (direction == FORWARD) {
             xefp.traverseOutForward();
         }
         else {
             xefp.traverseOutBackward();

@@ -106,32 +108,33 @@
     }
 
     /*
      * The method shouldn't be called in case of active XEmbed.
      */
-    @SuppressWarnings("deprecation")
     public void synthesizeWindowActivation(boolean doActivate) {
-        XEmbeddedFramePeer peer = (XEmbeddedFramePeer)getPeer();
+        XEmbeddedFramePeer peer = AWTAccessor.getComponentAccessor()
+                                             .getPeer(this);
         if (peer != null) {
             if (peer.supportsXEmbed() && peer.isXEmbedActive()) {
                 log.fine("The method shouldn't be called when XEmbed is active!");
             } else {
                 peer.synthesizeFocusInOut(doActivate);
             }
         }
     }
 
-    @SuppressWarnings("deprecation")
     public void registerAccelerator(AWTKeyStroke stroke) {
-        XEmbeddedFramePeer xefp = (XEmbeddedFramePeer) getPeer();
+        XEmbeddedFramePeer xefp = AWTAccessor.getComponentAccessor()
+                                             .getPeer(this);
         if (xefp != null) {
             xefp.registerAccelerator(stroke);
         }
     }
-    @SuppressWarnings("deprecation")
+
     public void unregisterAccelerator(AWTKeyStroke stroke) {
-        XEmbeddedFramePeer xefp = (XEmbeddedFramePeer) getPeer();
+        XEmbeddedFramePeer xefp = AWTAccessor.getComponentAccessor()
+                                             .getPeer(this);
         if (xefp != null) {
             xefp.unregisterAccelerator(stroke);
         }
     }
 }