< prev index next >
test/java/awt/Mixing/AWT_Mixing/OverlappingTestBase.java
Print this page
*** 23,38 ****
import java.awt.*;
import java.awt.event.*;
import java.awt.peer.ComponentPeer;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import javax.swing.*;
- import sun.awt.AWTAccessor;
import sun.awt.EmbeddedFrame;
import java.io.*;
import test.java.awt.regtesthelpers.Util;
/**
--- 23,38 ----
import java.awt.*;
import java.awt.event.*;
import java.awt.peer.ComponentPeer;
import java.lang.reflect.Constructor;
+ import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import javax.swing.*;
import sun.awt.EmbeddedFrame;
import java.io.*;
import test.java.awt.regtesthelpers.Util;
/**
*** 72,81 ****
--- 72,82 ----
private static final String[] simpleAwtControls = {"Button", "Checkbox", "Label", "TextArea"};
/**
* Generic strings array. To be used for population of List based controls.
*/
protected static final String[] petStrings = {"Bird", "Cat", "Dog", "Rabbit", "Rhynocephalia Granda", "Bear", "Tiger", "Mustang"};
+ static Field peerField;
// "properties"
/**
* Tests customization. Set this variable to test only control from java.awt
* <p>Usage of this variable should be marked with CR being the reason.
* <p>Do not use this variable simultaneously with {@link OverlappingTestBase#skipClassNames}
*** 243,254 ****
long frameWindow = 0;
String getWindowMethodName = "getHWnd";
if (Toolkit.getDefaultToolkit().getClass().getName().contains("XToolkit")) {
getWindowMethodName = "getWindow";
}
! ComponentPeer peer = AWTAccessor.getComponentAccessor()
! .getPeer(embedder);
// System.err.println("Peer: " + peer);
Method getWindowMethod = peer.getClass().getMethod(getWindowMethodName);
frameWindow = (Long) getWindowMethod.invoke(peer);
// System.err.println("frame peer ID: " + frameWindow);
--- 244,254 ----
long frameWindow = 0;
String getWindowMethodName = "getHWnd";
if (Toolkit.getDefaultToolkit().getClass().getName().contains("XToolkit")) {
getWindowMethodName = "getWindow";
}
! ComponentPeer peer = (ComponentPeer) peerField.get(embedder);
// System.err.println("Peer: " + peer);
Method getWindowMethod = peer.getClass().getMethod(getWindowMethodName);
frameWindow = (Long) getWindowMethod.invoke(peer);
// System.err.println("frame peer ID: " + frameWindow);
*** 566,575 ****
--- 566,581 ----
* Starting point for test runs. See usage at {@link OverlappingTestBase }
* @param args regular main args, not used.
* @throws InterruptedException
*/
public static void doMain(String args[]) throws InterruptedException {
+ try {
+ peerField = Component.class.getDeclaredField("peer");
+ } catch (NoSuchFieldException e) {
+ throw new RuntimeException("peer field is not available");
+ }
+ peerField.setAccessible(true);
mainThread = Thread.currentThread();
try {
init();
} catch (TestPassedException e) {
//The test passed, so just return from main and harness will
< prev index next >