X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FJvSwingUtils.java;h=437f430056115ea267c27c14bfedfb17af0f4ee7;hb=f149a335b5467a4802eded5da0ca2fc732d7caf7;hp=f41e85a7e5393608e26471c19efc64d73392fcdb;hpb=8a6fa9ea9900d0f106529c3f6283e7f9d76dd2cb;p=jalview.git diff --git a/src/jalview/gui/JvSwingUtils.java b/src/jalview/gui/JvSwingUtils.java index f41e85a..437f430 100644 --- a/src/jalview/gui/JvSwingUtils.java +++ b/src/jalview/gui/JvSwingUtils.java @@ -22,6 +22,7 @@ import java.awt.Font; import java.awt.event.ActionListener; import javax.swing.JButton; +import javax.swing.JMenu; import javax.swing.SwingConstants; /** @@ -68,4 +69,32 @@ public final class JvSwingUtils return button; } + /** + * find or add a submenu with the given title in the given menu + * + * @param menu + * @param submenu + * @return the new or existing submenu + */ + public static JMenu findOrCreateMenu(JMenu menu, String submenu) + { + JMenu submenuinstance = null; + for (int i = 0, iSize = menu.getMenuComponentCount(); i < iSize; i++) + { + if (menu.getMenuComponent(i) instanceof JMenu + && ((JMenu) menu.getMenuComponent(i)).getText().equals( + submenu)) + { + submenuinstance = (JMenu) menu.getMenuComponent(i); + } + } + if (submenuinstance == null) + { + submenuinstance = new JMenu(submenu); + menu.add(submenuinstance); + } + return submenuinstance; + + } + }