--- old/test/javax/swing/JPopupMenu/6583251/bug6583251.java 2015-07-28 23:06:17.220594439 -0700 +++ new/test/javax/swing/JPopupMenu/6583251/bug6583251.java 2015-07-28 23:06:17.025593112 -0700 @@ -25,7 +25,7 @@ /* @test -@bug 6583251 +@bug 6583251 8130481 @summary One more ClassCastException in Swing with TrayIcon @author Alexander Potochkin @run main bug6583251 @@ -56,7 +56,7 @@ } public static void main(String[] args) throws Exception { - + if (SystemTray.isSupported()) { SwingUtilities.invokeAndWait(new Runnable() { public void run() { createGui(); @@ -67,11 +67,19 @@ robot.waitForIdle(); menu.show(frame, 0, 0); robot.waitForIdle(); - - 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); + + 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) { + System.out.println("Tray icon unsupported. Skipping the test. " + e.getMessage()); + } + + } else { + System.out.println("SystemTray not supported. " + "Test is skipped."); + } } }