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

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

    Details

    • Subcomponent:
    • Resolved In Build:
      b124
    • CPU:
      x86
    • OS:
      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

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

                Dates

                • Due:
                  Created:
                  Updated:
                  Resolved: