AcceptExtraButton.java revision 14851:980da45565c8
1/*
2 * Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24/*
25  @test %I% %E%
26  @key headful
27  @bug 6315717
28  @summary verifies that MouseEvent CTOR accepts extra mouse button numbers
29  @author Andrei Dmitriev : area=awt.event
30  @run main AcceptExtraButton
31 */
32
33//package acceptextrabutton;
34
35import java.awt.*;
36import java.awt.event.MouseEvent;
37import java.awt.event.MouseAdapter;
38
39public class AcceptExtraButton extends Frame {
40    static int [] eventID = new int []{MouseEvent.MOUSE_PRESSED, MouseEvent.MOUSE_RELEASED, MouseEvent.MOUSE_CLICKED};
41
42    public static void main(String []s){
43        AcceptExtraButton f = new AcceptExtraButton();
44        f.setSize(300, 300);
45        f.setVisible(true);
46
47        for (int buttonId = 0; buttonId<eventID.length; buttonId++) {
48            for (int button = 0; button <= MouseInfo.getNumberOfButtons(); button++){
49                System.out.println("button == "+button);
50                MouseEvent me = new MouseEvent(f,
51                                               eventID[buttonId],
52                                               System.currentTimeMillis(),
53                                               0, //MouseEvent.BUTTON1_DOWN_MASK, modifiers
54                                               100, 100, // x, y
55                                               150, 150, // x, y on screen
56                                               1,        //clickCount
57                                               false,              //popupTrigger
58                                               button );// MouseEvent.NOBUTTON : button
59
60                System.out.println("dispatching >>>"+me);
61                f.dispatchEvent( ( AWTEvent )me );
62            }
63        }
64        MouseAdapter ma1 = new MouseAdapter() {
65                public void mousePressed(MouseEvent e) {
66                    System.out.println("PRESSED "+e);
67                }
68                public void mouseReleased(MouseEvent e) {
69                    System.out.println("RELEASED "+e);
70                }
71                public void mouseClicked(MouseEvent e) {
72                    System.out.println("CLICKED "+e);
73                }
74            };
75        f.addMouseListener(ma1);
76    }
77}
78