equal
deleted
inserted
replaced
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() { |