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

Provide public API for screen menu bar support on MacOS

    XMLWordPrintable

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

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

              Dates

                Created:
                Updated:
                Resolved: