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

Popup: Hides behind the app over which it appeared, on a mouse move operation

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: P4 P4
    • None
    • 1.4.0
    • client-libs
    • sparc
    • solaris_7

      1. Run the application pasted below.
      2. Make sure that the Popup appears over an active application. I brought the Popup over the terminal window from which I was running. That way the terminal will be active when the Popup appears.
      3. The Popup has a JComboBox on it with setPopupVisible set to true.
      4. When the Popup appears, the application over which it showed up is still seen active. Now click the button part, not the drop-down list.
      5. Move the mouse away from the Popup area.
      6. The Popup goes behind the active application.

      % java -version
      java version "1.4.0-beta"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta-b62)
      Java HotSpot(TM) Client VM (build 1.4.0-beta-b62, mixed mode)

      Found happening in: Solaris Sparc and Solaris X86 machines. The behaviour in Linux & Windows machines differ & are explained below:
      Linux: The active app becomes inactive & Popup becomes the active app. So it does not go behind the app over which it appeared.
      Windows: The active app remains so even after the arrival of Popup, but once the Popup is clicked, the Popup becomes the active app and so it does not go behind the app over which it is launched.

      Finding: The behaviour of the Popup remains the same with any swing component over it.

      Code used:
      import java.awt.*;
      import java.util.*;
      import javax.swing.*;
      import java.awt.event.*;

      public class HeavyPopTest04 {
        private Popup popup;
        private PopupFactory pFactory;
        private JComboBox combo;
        private String[] numbers = { "first", "second", "third", "fourth", "fifth",
        "abc", "def", "ghi", "jkl", "mno", "pqr", "stu", "vwx", "yz" };
        
        public HeavyPopTest04() {
          combo = new JComboBox(numbers);
          pFactory = PopupFactory.getSharedInstance();
          popup = pFactory.getPopup(null,combo,500,500);
          popup.show();
          combo.setPopupVisible(true);
        }
              
        public static void main(String args[]) {
          HeavyPopTest04 t = new HeavyPopTest04();
        }
      }

            dmikhalksunw Denis Mikhalkin (Inactive)
            sramansunw Sridhar Raman (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: