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

Provide public API for screen menu bar support on MacOS

    Details

      Description

      A DESCRIPTION OF THE REQUEST :
      The screen menu bar is a standard feature of Mac OS. Even applications with unique UIs use the screen menu bar. In Java, this means that custom LAFs should use the screen menu bar when running on MacOS.

      The existing support for the screen menu bar is baked into the Aqua LAF. Specifically, it is supported by AquaMenuBarUI, AquaMenuItemUI, and AquaRootPaneUI. The support for a default menu bar (displayed when there is no active application frame) in _AppMenuBarHandler is tightly coupled to AquaMenuBarUI.

      These platform classes will become inaccessible in JDK9. Although it may be possible to reference them in UIDefaults, it will not be possible to subclass them. This limits the ability of a custom LAF to customize the root pane and menu UIs and also use the screen menu bar. The root pane UI is of particular concern because it supports the default button feature, which needs to interact with button UI classes.

      Screen menu bar support should be provided in a public API for use by third party LAFs in JDK9 and beyond.

      This RFE should be have labels "modularization" and "jdkinternals".


      JUSTIFICATION :
      The screen menu bar is an essential part of the MacOS UI. Custom LAFs need a public API in JDK9 to use the screen menu bar.



        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                serb Sergey Bylokhov
                Reporter:
                webbuggrp Webbug Group
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Due:
                  Created:
                  Updated: