< prev index next >

src/java.desktop/macosx/classes/com/apple/eawt/_AppMenuBarHandler.java

Print this page

        

*** 23,35 **** * questions. */ package com.apple.eawt; import java.awt.Frame; ! import javax.swing.*; import javax.swing.plaf.MenuBarUI; import com.apple.laf.ScreenMenuBar; import sun.awt.AWTAccessor; import sun.lwawt.macosx.CMenuBar; --- 23,39 ---- * questions. */ package com.apple.eawt; + import java.awt.Container; import java.awt.Frame; ! ! import javax.swing.JFrame; ! import javax.swing.JLayeredPane; ! import javax.swing.JMenuBar; import javax.swing.plaf.MenuBarUI; import com.apple.laf.ScreenMenuBar; import sun.awt.AWTAccessor; import sun.lwawt.macosx.CMenuBar;
*** 100,113 **** // intentionally clearing the default menu nativeSetDefaultMenuBar(0); return; } ! final MenuBarUI ui = menuBar.getUI(); if (!(ui instanceof AquaMenuBarUI)) { ! // Aqua was not installed ! throw new IllegalStateException("Application.setDefaultMenuBar() only works with the Aqua Look and Feel"); } final AquaMenuBarUI aquaUI = (AquaMenuBarUI)ui; final ScreenMenuBar screenMenuBar = aquaUI.getScreenMenuBar(); if (screenMenuBar == null) { --- 104,122 ---- // intentionally clearing the default menu nativeSetDefaultMenuBar(0); return; } ! Container parent = menuBar.getParent(); ! if (parent instanceof JLayeredPane) { ! ((JLayeredPane) parent).remove(menuBar); ! } ! ! MenuBarUI ui = menuBar.getUI(); if (!(ui instanceof AquaMenuBarUI)) { ! ui = new AquaMenuBarUI(); ! menuBar.setUI(ui); } final AquaMenuBarUI aquaUI = (AquaMenuBarUI)ui; final ScreenMenuBar screenMenuBar = aquaUI.getScreenMenuBar(); if (screenMenuBar == null) {
< prev index next >