Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6504513

ComponentEvent occurs incrementally for move but not resize

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: P4 P4
    • None
    • 6
    • client-libs
    • x86
    • windows_xp

      FULL PRODUCT VERSION :
      java version "1.6.0-beta2"
      Java(TM) SE Runtime Environment (build 1.6.0-beta2-b86)
      Java HotSpot(TM) Client VM (build 1.6.0-beta2-b86, mixed mode)

      ADDITIONAL OS VERSION INFORMATION :
      Microsoft Windows XP [Version 5.1.2600]

      A DESCRIPTION OF THE PROBLEM :
      Using mouse to move window generates multiple ComponentEvents.
      Using mouse to resize window generates only one ComponentEvent.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1. Compile and execute Test application below.

      2a. Move Test window by pressing and holding left button on title bar. Note that multiple moves are printed.
      2b. Release left button. Note that no move is printed.

      3a. Resize Test window by pressing and holding left button on bottom of window. Note that no resizes are printed.
      3b. Release left button. Note that one resize is printed.

      Expected multiple resizes to be printed on step 3a and none on step 3b.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Moved: 1
      Moved: 2
      Moved: 3
      Moved: 4
      Moved: 5
      Moved: 6
      Moved: 7
      Moved: 8
      Moved: 9
      Moved: 10
      ...
      Resized: 1
      Resized: 2
      Resized: 3
      Resized: 4
      Resized: 5
      Resized: 6
      Resized: 7
      Resized: 8
      Resized: 9
      Resized: 10
      ...


      ACTUAL -
      Moved: 1
      Moved: 2
      Moved: 3
      Moved: 4
      Moved: 5
      Moved: 6
      Moved: 7
      Moved: 8
      Moved: 9
      Moved: 10
      ...
      Resized: 1


      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      import java.awt.event.ComponentAdapter;
      import java.awt.event.ComponentEvent;
      import javax.swing.JFrame;
      import javax.swing.SwingUtilities;
      public class Test extends JFrame
      {
          private int moved = 0;
          private int resized = 0;
          public Test()
          {
              addComponentListener(new ComponentAdapter() {
                  public void componentMoved(ComponentEvent e) {
                      System.out.println("Moved: " + ++moved);
                  }
                  public void componentResized(ComponentEvent e) {
                      System.out.println("Resized: " + ++resized);
                  }
              });
              setDefaultCloseOperation(EXIT_ON_CLOSE);
              setSize(400, 400);
              setTitle("Test");
              setVisible(true);
          }
          public static void main(String[] arguments)
          {
              SwingUtilities.invokeLater(new Runnable() {
                  public void run() {
                      new Test();
                  }
              });
          }
      }
      ---------- END SOURCE ----------

            Unassigned Unassigned
            ndcosta Nelson Dcosta (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: