< 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 >