test/jdk/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_2.java
changeset 54231 e4813eded7cb
parent 47216 71c04702a3d5
equal deleted inserted replaced
54230:d9d9655bb077 54231:e4813eded7cb
     1 /*
     1 /*
     2  * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     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
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
    20  * or visit www.oracle.com if you need additional information or have any
    20  * or visit www.oracle.com if you need additional information or have any
    21  * questions.
    21  * questions.
    22  */
    22  */
    23 
    23 
    24 /*
    24 /*
    25   test
    25   @test
       
    26   @key headful
    26   @bug 6480024
    27   @bug 6480024
    27   @library ../../../regtesthelpers
    28   @library ../../../regtesthelpers
    28   @build Util Sysout AbstractTest
    29   @build Util Sysout AbstractTest
    29   @summary stack overflow on mouse wheel rotation within Applet
    30   @summary stack overflow on mouse wheel rotation within JApplet
    30   @author Andrei Dmitriev: area=awt.event
    31   @run main InfiniteRecursion_2
    31   @run applet InfiniteRecursion_2.html
       
    32 */
    32 */
    33 
    33 
    34 /**
    34 /**
    35  * InfiniteRecursion_2.java
    35  * InfiniteRecursion_2.java
    36  *
    36  *
    47 import java.awt.*;
    47 import java.awt.*;
    48 import java.awt.event.*;
    48 import java.awt.event.*;
    49 import javax.swing.*;
    49 import javax.swing.*;
    50 import test.java.awt.regtesthelpers.Util;
    50 import test.java.awt.regtesthelpers.Util;
    51 import test.java.awt.regtesthelpers.AbstractTest;
    51 import test.java.awt.regtesthelpers.AbstractTest;
    52 import test.java.awt.regtesthelpers.Sysout;
       
    53 
    52 
    54 import java.applet.Applet;
    53 public class InfiniteRecursion_2 extends Frame {
    55 
       
    56 public class InfiniteRecursion_2 extends Applet {
       
    57     final static Robot robot = Util.createRobot();
    54     final static Robot robot = Util.createRobot();
    58     final static int MOVE_COUNT = 5;
    55     final static int MOVE_COUNT = 5;
    59     //*2 for both rotation directions,
    56     //*2 for both rotation directions,
    60     //*2 as Java sends the wheel event to every for nested component in hierarchy under cursor
    57     //*2 as Java sends the wheel event to every for nested component in hierarchy under cursor
    61     final static int EXPECTED_COUNT = MOVE_COUNT * 2 * 2;
    58     final static int EXPECTED_COUNT = MOVE_COUNT * 2 * 2;
    62     static int actualEvents = 0;
    59     static int actualEvents = 0;
       
    60 
       
    61     public static void main(final String[] args) {
       
    62         InfiniteRecursion_2 app = new InfiniteRecursion_2();
       
    63         app.init();
       
    64         app.start();
       
    65     }
    63 
    66 
    64     public void init()
    67     public void init()
    65     {
    68     {
    66         setLayout (new BorderLayout ());
    69         setLayout (new BorderLayout ());
    67     }//End  init()
    70     }//End  init()
    70     {
    73     {
    71         JPanel outputBox = new JPanel();
    74         JPanel outputBox = new JPanel();
    72         JButton jButton = new JButton();
    75         JButton jButton = new JButton();
    73 
    76 
    74         this.setSize(200, 200);
    77         this.setSize(200, 200);
       
    78         this.setLocationRelativeTo(null);
    75         this.addMouseWheelListener(new MouseWheelListener() {
    79         this.addMouseWheelListener(new MouseWheelListener() {
    76                 public void mouseWheelMoved(MouseWheelEvent e)
    80                 public void mouseWheelMoved(MouseWheelEvent e)
    77                 {
    81                 {
    78                     System.out.println("Wheel moved on APPLET : "+e);
    82                     System.out.println("Wheel moved on APPLET : "+e);
    79                     actualEvents++;
    83                     actualEvents++;