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

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

    XMLWordPrintable

Details

    • b124
    • x86
    • os_x

    Description

      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.



      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: