8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 /*
27 @test
28 @bug 6583251
29 @summary One more ClassCastException in Swing with TrayIcon
30 @author Alexander Potochkin
31 @run main bug6583251
32 */
33
34 import javax.swing.*;
35 import java.awt.*;
36 import java.awt.event.MouseEvent;
37 import java.awt.image.BufferedImage;
38
39 public class bug6583251 {
40 private static JFrame frame;
41 private static JPopupMenu menu;
42
43 private static void createGui() {
44 frame = new JFrame();
45 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
46
47 JPanel panel = new JPanel();
48 menu = new JPopupMenu();
51 frame.add(panel);
52
53 frame.setSize(200, 200);
54 frame.setLocationRelativeTo(null);
55 frame.setVisible(true);
56 }
57
58 public static void main(String[] args) throws Exception {
59
60 SwingUtilities.invokeAndWait(new Runnable() {
61 public void run() {
62 createGui();
63 }
64 });
65
66 Robot robot = new Robot();
67 robot.waitForIdle();
68 menu.show(frame, 0, 0);
69 robot.waitForIdle();
70
71 TrayIcon trayIcon = new TrayIcon(new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB));
72 MouseEvent ev = new MouseEvent(
73 new JButton(), MouseEvent.MOUSE_PRESSED, System.currentTimeMillis(), 0, 0, 0, 1, false);
74 ev.setSource(trayIcon);
75 Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(ev);
76 }
77 }
|
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 /*
27 @test
28 @bug 6583251 8130481
29 @summary One more ClassCastException in Swing with TrayIcon
30 @author Alexander Potochkin
31 @run main bug6583251
32 */
33
34 import javax.swing.*;
35 import java.awt.*;
36 import java.awt.event.MouseEvent;
37 import java.awt.image.BufferedImage;
38
39 public class bug6583251 {
40 private static JFrame frame;
41 private static JPopupMenu menu;
42
43 private static void createGui() {
44 frame = new JFrame();
45 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
46
47 JPanel panel = new JPanel();
48 menu = new JPopupMenu();
51 frame.add(panel);
52
53 frame.setSize(200, 200);
54 frame.setLocationRelativeTo(null);
55 frame.setVisible(true);
56 }
57
58 public static void main(String[] args) throws Exception {
59
60 SwingUtilities.invokeAndWait(new Runnable() {
61 public void run() {
62 createGui();
63 }
64 });
65
66 Robot robot = new Robot();
67 robot.waitForIdle();
68 menu.show(frame, 0, 0);
69 robot.waitForIdle();
70
71 try {
72 TrayIcon trayIcon = new TrayIcon(new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB));
73 MouseEvent ev = new MouseEvent(
74 new JButton(), MouseEvent.MOUSE_PRESSED, System.currentTimeMillis(), 0, 0, 0, 1, false);
75 ev.setSource(trayIcon);
76 Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(ev);
77 } catch(UnsupportedOperationException e) {
78 System.out.println("Tray icon unsupported. Skipping the test. " + e.getMessage());
79 }
80 }
81 }
|