test/java/awt/TextArea/TextAreaCaretVisibilityTest/bug7129742.java

Print this page

        

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.

@@ -40,10 +40,13 @@
 import javax.swing.JFrame;
 import javax.swing.JTextArea;
 import javax.swing.SwingUtilities;
 import javax.swing.text.DefaultCaret;
 
+import sun.awt.AWTAccessor;
+import sun.awt.AWTAccessor.ComponentAccessor;
+
 
 public class bug7129742 {
 
     public static DefaultCaret caret = null;
     public static JFrame frame = null;

@@ -62,20 +65,21 @@
                 frame.add(textArea);
                 frame.pack();
                 frame.setVisible(true);
 
                 try {
-                    Class XTextAreaPeerClzz  = textArea.getPeer().getClass();
+                    ComponentAccessor acc = AWTAccessor.getComponentAccessor();
+                    Class XTextAreaPeerClzz = acc.getPeer(textArea).getClass();
                     System.out.println(XTextAreaPeerClzz.getName());
                     if (!XTextAreaPeerClzz.getName().equals("sun.awt.X11.XTextAreaPeer")) {
                         fastreturn = true;
                         return;
                     }
 
                     Field jtextField = XTextAreaPeerClzz.getDeclaredField("jtext");
                     jtextField.setAccessible(true);
-                    JTextArea jtext = (JTextArea)jtextField.get(textArea.getPeer());
+                    JTextArea jtext = (JTextArea)jtextField.get(acc.getPeer(textArea));
                     caret = (DefaultCaret) jtext.getCaret();
 
                     textArea.requestFocusInWindow();
                 } catch (NoSuchFieldException | SecurityException
                          | IllegalArgumentException | IllegalAccessException e) {