--- old/test/java/awt/Window/TranslucentJAppletTest/TranslucentJAppletTest.java 2013-05-21 18:47:11.000000000 +0400 +++ new/test/java/awt/Window/TranslucentJAppletTest/TranslucentJAppletTest.java 2013-05-21 18:47:10.000000000 +0400 @@ -37,11 +37,12 @@ public class TranslucentJAppletTest { + private static volatile GraphicsConfiguration graphicsConfig = null; private static JFrame frame; private static volatile boolean paintComponentCalled = false; private static void initAndShowGUI() { - frame = new JFrame(); + frame = new JFrame(graphicsConfig); JApplet applet = new JApplet(); applet.setBackground(new Color(0, 0, 0, 0)); JPanel panel = new JPanel() { @@ -66,6 +67,27 @@ { sun.awt.SunToolkit tk = (sun.awt.SunToolkit)Toolkit.getDefaultToolkit(); + final GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); + for (GraphicsDevice gd : ge.getScreenDevices()) { + if (gd.isWindowTranslucencySupported( + GraphicsDevice.WindowTranslucency.PERPIXEL_TRANSLUCENT)) + { + for (GraphicsConfiguration gc : gd.getConfigurations()) { + if (gc.isTranslucencyCapable()) { + graphicsConfig = gc; + break; + } + } + } + if (graphicsConfig != null) { + break; + } + } + if (graphicsConfig == null) { + System.err.println("The system does not support translucency. Consider the test passed."); + return; + } + Robot r = new Robot(); Color color1 = r.getPixelColor(100, 100); // (0, 0) in frame coordinates