JAL-1807 Bob's first commit -- Applet loaded; needs image
[jalview.git] / src / jalview / appletgui / EmbmenuFrame.java
index a26202b..afb2c1e 100644 (file)
@@ -26,18 +26,21 @@ import java.awt.BorderLayout;
 import java.awt.Color;
 import java.awt.FlowLayout;
 import java.awt.Font;
-import java.awt.Frame;
+import awt2swing.Frame;
 import java.awt.HeadlessException;
-import java.awt.Label;
-import java.awt.Menu;
-import java.awt.MenuBar;
-import java.awt.Panel;
-import java.awt.PopupMenu;
+import awt2swing.Label;
+import awt2swing.Menu;
+import awt2swing.MenuBar;
+import awt2swing.MenuItem;
+import awt2swing.Panel;
+import awt2swing.PopupMenu;
 import java.awt.event.MouseEvent;
 import java.awt.event.MouseListener;
 import java.util.HashMap;
 import java.util.Map;
 
+import javax.swing.JMenuItem;
+
 /**
  * This class implements a pattern for embedding toolbars as a panel with popups
  * for situations where the system menu bar is either invisible or
@@ -91,7 +94,7 @@ public class EmbmenuFrame extends Frame implements MouseListener
    */
   protected boolean embedMenuIfNeeded(Panel tobeAdjusted)
   {
-    MenuBar topMenuBar = getMenuBar();
+    MenuBar topMenuBar = (MenuBar) getJMenuBar();
     if (topMenuBar == null)
     {
       return false;
@@ -101,7 +104,7 @@ public class EmbmenuFrame extends Frame implements MouseListener
     {
       // Build the embedded menu panel, allowing override with system font
       embeddedMenu = makeEmbeddedPopupMenu(topMenuBar, true, false);
-      setMenuBar(null);
+      unsetMenuBar();
       // add the components to the Panel area.
       add(embeddedMenu, BorderLayout.NORTH);
       tobeAdjusted.setSize(getSize().width,
@@ -162,6 +165,7 @@ public class EmbmenuFrame extends Frame implements MouseListener
           Panel embeddedMenu,
           MouseListener clickHandler)
   {
+  
     if (overrideFonts)
     {
       Font mbf = menuBar.getFont();
@@ -180,7 +184,7 @@ public class EmbmenuFrame extends Frame implements MouseListener
     // loop thru
     for (int mbi = 0, nMbi = menuBar.getMenuCount(); mbi < nMbi; mbi++)
     {
-      Menu mi = menuBar.getMenu(mbi);
+      Menu mi = (Menu) menuBar.getMenu(mbi);
       Label elab = new Label(mi.getLabel());
       elab.setFont(font);
       // add the menu entries
@@ -188,7 +192,11 @@ public class EmbmenuFrame extends Frame implements MouseListener
       int m, mSize = mi.getItemCount();
       for (m = 0; m < mSize; m++)
       {
-        popup.add(mi.getItem(m));
+       // BH slight difference in Swing -- no actual item separator, just null
+       if (mi.getItem(m) == null)
+               popup.addSeparator();
+       else
+               popup.add(mi.getItem(m));
         mSize--;
         m--;
       }