test/jdk/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_3.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_3
    31   @run applet InfiniteRecursion_3.html
       
    32 */
    32 */
    33 
    33 
    34 /**
    34 /**
    35  * InfiniteRecursion_3.java
    35  * InfiniteRecursion_3.java
    36  *
    36  *
    42 import java.awt.*;
    42 import java.awt.*;
    43 import java.awt.event.*;
    43 import java.awt.event.*;
    44 import javax.swing.*;
    44 import javax.swing.*;
    45 import test.java.awt.regtesthelpers.Util;
    45 import test.java.awt.regtesthelpers.Util;
    46 import test.java.awt.regtesthelpers.AbstractTest;
    46 import test.java.awt.regtesthelpers.AbstractTest;
    47 import test.java.awt.regtesthelpers.Sysout;
       
    48 import java.applet.Applet;
       
    49 
    47 
    50 public class InfiniteRecursion_3 extends Applet {
    48 public class InfiniteRecursion_3 extends Frame {
    51     final static Robot robot = Util.createRobot();
    49     final static Robot robot = Util.createRobot();
    52     final static int MOVE_COUNT = 5;
    50     final static int MOVE_COUNT = 5;
    53     //*2 for both rotation directions,
    51     //*2 for both rotation directions,
    54     //*2 as Java sends the wheel event to every for nested component in hierarchy under cursor
    52     //*2 as Java sends the wheel event to every for nested component in hierarchy under cursor
    55     final static int EXPECTED_COUNT = MOVE_COUNT * 2 * 2;
    53     final static int EXPECTED_COUNT = MOVE_COUNT * 2 * 2;
    56     static int actualEvents = 0;
    54     static int actualEvents = 0;
       
    55 
       
    56     public static void main(final String[] args) {
       
    57         InfiniteRecursion_3 app = new InfiniteRecursion_3();
       
    58         app.init();
       
    59         app.start();
       
    60     }
    57 
    61 
    58     public void init()
    62     public void init()
    59     {
    63     {
    60         setLayout (new BorderLayout ());
    64         setLayout (new BorderLayout ());
    61     }//End  init()
    65     }//End  init()
    72                     actualEvents++;
    76                     actualEvents++;
    73                 }
    77                 }
    74             });
    78             });
    75 
    79 
    76         this.add(jButton);
    80         this.add(jButton);
    77 
    81         this.setLocationRelativeTo(null);
    78         this.setVisible(true);
    82         this.setVisible(true);
    79         this.validate();
    83         this.validate();
    80 
    84 
    81         Util.waitForIdle(robot);
    85         Util.waitForIdle(robot);
    82 
    86