jdk/test/java/awt/Window/TranslucentJAppletTest/TranslucentJAppletTest.java
changeset 17687 4ecd9cdc9c45
parent 9204 761c7da116a9
child 23010 6dadb192ad81
equal deleted inserted replaced
17686:8f43a169e39f 17687:4ecd9cdc9c45
    35 
    35 
    36 import javax.swing.*;
    36 import javax.swing.*;
    37 
    37 
    38 public class TranslucentJAppletTest {
    38 public class TranslucentJAppletTest {
    39 
    39 
       
    40     private static volatile GraphicsConfiguration graphicsConfig = null;
    40     private static JFrame frame;
    41     private static JFrame frame;
    41     private static volatile boolean paintComponentCalled = false;
    42     private static volatile boolean paintComponentCalled = false;
    42 
    43 
    43     private static void initAndShowGUI() {
    44     private static void initAndShowGUI() {
    44         frame = new JFrame();
    45         frame = new JFrame(graphicsConfig);
    45         JApplet applet = new JApplet();
    46         JApplet applet = new JApplet();
    46         applet.setBackground(new Color(0, 0, 0, 0));
    47         applet.setBackground(new Color(0, 0, 0, 0));
    47         JPanel panel = new JPanel() {
    48         JPanel panel = new JPanel() {
    48             protected void paintComponent(Graphics g) {
    49             protected void paintComponent(Graphics g) {
    49                 paintComponentCalled = true;
    50                 paintComponentCalled = true;
    63 
    64 
    64     public static void main(String[] args)
    65     public static void main(String[] args)
    65         throws Exception
    66         throws Exception
    66     {
    67     {
    67         sun.awt.SunToolkit tk = (sun.awt.SunToolkit)Toolkit.getDefaultToolkit();
    68         sun.awt.SunToolkit tk = (sun.awt.SunToolkit)Toolkit.getDefaultToolkit();
       
    69 
       
    70         final GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
       
    71         for (GraphicsDevice gd : ge.getScreenDevices()) {
       
    72             if (gd.isWindowTranslucencySupported(
       
    73                         GraphicsDevice.WindowTranslucency.PERPIXEL_TRANSLUCENT))
       
    74             {
       
    75                 for (GraphicsConfiguration gc : gd.getConfigurations()) {
       
    76                     if (gc.isTranslucencyCapable()) {
       
    77                         graphicsConfig = gc;
       
    78                         break;
       
    79                     }
       
    80                 }
       
    81             }
       
    82             if (graphicsConfig != null) {
       
    83                 break;
       
    84             }
       
    85         }
       
    86         if (graphicsConfig == null) {
       
    87             System.out.println("The system does not support translucency. Consider the test passed.");
       
    88             return;
       
    89         }
    68 
    90 
    69         Robot r = new Robot();
    91         Robot r = new Robot();
    70         Color color1 = r.getPixelColor(100, 100); // (0, 0) in frame coordinates
    92         Color color1 = r.getPixelColor(100, 100); // (0, 0) in frame coordinates
    71 
    93 
    72         SwingUtilities.invokeAndWait(new Runnable() {
    94         SwingUtilities.invokeAndWait(new Runnable() {