JDK-8048549 : [macosx] Disable usage of system menu bar if AWT is embedded in FX
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 8u40,9
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: os_x
  • Submitted: 2014-06-27
  • Updated: 2015-01-21
  • Resolved: 2014-07-02
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
8u40Fixed 9 b24Fixed
Only one GUI toolkit should manage the system menu bar, even though we allow several GUI toolkits to be running simultaneously. Otherwise, bad things may happen (e.g. https://javafx-jira.kenai.com/browse/RT-24453 ). 

FX won't use the system menu bar on Mac if the main running toolkit is AWT, and will fall back to using software menus rendered in the window client areas instead.

AWT and Swing's Apple L&F should do the same if they detect that they're embedded in JavaFX.

The corresponding FX bug: https://javafx-jira.kenai.com/browse/RT-37363

This CR only covers Swing API that uses a screen menu bar only if apple.laf.useScreenMenuBar property is set to true. However there's also AWT API to set a menuBar and it currently uses screen menu bar unconditionally. The latter case will not be changed, because AWT API is not popular and making it also rely on a useScreenMenuBar property may affect existing applications.

JavaFX team requests to consider fixing this bug for 8u40.