< prev index next >

test/javax/swing/JPopupMenu/6583251/bug6583251.java

Print this page

        

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2014, 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.  Oracle designates this

@@ -23,11 +23,11 @@
  * questions.
  */
 
 /*
 @test
-@bug 6583251
+@bug 6583251 8130481
 @summary One more ClassCastException in Swing with TrayIcon
 @author Alexander Potochkin
 @run main bug6583251
 */
 

@@ -54,24 +54,35 @@
         frame.setLocationRelativeTo(null);
         frame.setVisible(true);
     }
 
     public static void main(String[] args) throws Exception {
-
+        if (SystemTray.isSupported()) {
         SwingUtilities.invokeAndWait(new Runnable() {
             public void run() {
                 createGui();
             }
         });
 
         Robot robot = new Robot();
         robot.waitForIdle();
+        SwingUtilities.invokeAndWait(new Runnable() {
+            public void run() {
         menu.show(frame, 0, 0);
+            }
+        });
         robot.waitForIdle();
 
+        try {
         TrayIcon trayIcon = new TrayIcon(new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB));
         MouseEvent ev = new MouseEvent(
                 new JButton(), MouseEvent.MOUSE_PRESSED, System.currentTimeMillis(), 0, 0, 0, 1, false);
         ev.setSource(trayIcon);
         Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(ev);
+        } catch(UnsupportedOperationException e) {
+             throw new Error("Tray icon unsupported");
+        }
+     } else {
+       System.out.println("SystemTray not supported. " + "Test is skipped.");
+     }
     }
 }
< prev index next >