Class Menus


public class Menus extends Object
This class installs and updates ImageJ's menus. Note that menu labels, even in submenus, must be unique. This is because ImageJ uses a single hash table for all menu labels. If you look closely, you will see that File->Import->Text Image... and File->Save As->Text Image... do not use the same label. One of the labels has an extra space.
See Also:
  • Field Details

  • Method Details

    • getExamplesMenu

      public static Menu getExamplesMenu(ActionListener listener)
    • getJarFileForMenuEntry

      public static String getJarFileForMenuEntry(String menuEntry)
    • getImageJMenu

      public static Menu getImageJMenu(String menuPath)
      Returns the specified ImageJ menu (e.g., "File>New") or null if it is not found.
    • getPlugins

      public static String[] getPlugins()
      Returns a list of the plugins in the plugins menu.
    • installUserPlugin

      public void installUserPlugin(String className, boolean force)
    • getMenuBar

      public static MenuBar getMenuBar()
    • getMacrosMenu

      public static Menu getMacrosMenu()
    • getOpenRecentMenu

      public static Menu getOpenRecentMenu()
    • getMacroCount

      public int getMacroCount()
    • getPluginCount

      public int getPluginCount()
    • updateMenus

      public static void updateMenus()
      Updates the Image/Type and Window menus.
    • getPlugInsPath

      public static String getPlugInsPath()
      Returns the path to the user plugins directory or null if the plugins directory was not found.
    • getMacrosPath

      public static String getMacrosPath()
      Returns the path to the macros directory or null if the macros directory was not found.
    • getCommands

      public static Hashtable getCommands()
      Returns the hashtable that associates commands with plugins.
    • getShortcuts

      public static Hashtable getShortcuts()
      Returns the hashtable that associates shortcuts with commands. The keys in the hashtable are Integer keycodes, or keycode+200 for uppercase.
    • getMacroShortcuts

      public static Hashtable getMacroShortcuts()
      Returns the hashtable that associates keyboard shortcuts with macros. The keys in the hashtable are Integer keycodes, or keycode+200 for uppercase.
    • updateWindowMenuItem

      public static void updateWindowMenuItem(String oldLabel, String newLabel)
      Changes the name of an item in the Window menu.
    • updateWindowMenuItem

      public static void updateWindowMenuItem(ImagePlus imp, String oldLabel, String newLabel)
      Changes the name of an item in the Window menu.
    • addOpenRecentItem

      public static void addOpenRecentItem(String path)
      Adds a file path to the beginning of the File/Open Recent submenu.
    • getPopupMenu

      public static PopupMenu getPopupMenu()
    • getSaveAsMenu

      public static Menu getSaveAsMenu()
    • installPlugin

      public static int installPlugin(String plugin, char menuCode, String command, String shortcut, ImageJ ij)
      Adds a plugin based command to the end of a specified menu.
      Parameters:
      plugin - the plugin (e.g. "Inverter_", "Inverter_("arg")")
      menuCode - PLUGINS_MENU, IMPORT_MENU, SAVE_AS_MENU or HOT_KEYS
      command - the menu item label (set to "" to uninstall)
      shortcut - the keyboard shortcut (e.g. "y", "Y", "F1")
      ij - ImageJ (the action listener)
      Returns:
      returns an error code(NORMAL_RETURN,COMMAND_IN_USE_ERROR, etc.)
    • uninstallPlugin

      public static int uninstallPlugin(String command)
      Deletes a command installed by Plugins/Shortcuts/Add Shortcut.
    • commandInUse

      public static boolean commandInUse(String command)
    • convertShortcutToCode

      public static int convertShortcutToCode(String shortcut)
    • shortcutInUse

      public static boolean shortcutInUse(String shortcut)
      Returns 'true' if this keyboard shortcut is in use.
    • setFontSize

      public static void setFontSize(int size)
      Set the size (in points) used for the fonts in ImageJ menus. Set the size to 0 to use the Java default size.
    • getFontSize

      public static int getFontSize()
      Returns the size (in points) used for the fonts in ImageJ menus. Returns 0 if the default font size is being used or if this is a Macintosh.
    • getFont

      public static Font getFont()
    • getFont

      public static Font getFont(boolean checkSize)
    • getCachedFont

      public static Font getCachedFont()
    • savePreferences

      public static void savePreferences(Properties prefs)
      Called once when ImageJ quits.
    • updateImageJMenus

      public static void updateImageJMenus()
    • updateFont

      public static void updateFont()
    • add

      public static void add(String menuPath, String plugin)
      Adds a command to the ImageJ menu bar.