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

[macosx] Internal API Usage: setPopupType used to force creation of heavyweight popup

XMLWordPrintable

    • b124
    • x86
    • os_x

      A DESCRIPTION OF THE REQUEST :
      The Aqua LAF invokes a private method via native code to force the creation of a heavyweight popup with an owner. A public API is needed so that a custom API can do the same thing.

      Using the public API, the only way to force the creation of a heavyweight popup is to pass null as the invoker, which means the popup frame has no owner. The lack of a window owner means that the BasicPopupMenuUI window grab does not encompass the popup frame, so that mouse buttons on the popup cancel the popup.

      A simple solution would be to change the setPopupType() method from private to protected so that it can be called from a custom PopupFactory installed by a custom LAF.

      Submitted by Alan Snyder.

      JUSTIFICATION :
      Some platform UI features may be supported only on windows (not components). It should be possible to create a custom LAF that uses these features.



            rchamyal Rajeev Chamyal (Inactive)
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: