## org.apache.batik.util.gui.resource
Class MenuFactory

    java.lang.Object
      org.apache.batik.util.resources.ResourceManager
          org.apache.batik.util.gui.resource.MenuFactory

    public class MenuFactory

extends ResourceManager

This class represents a menu factory which builds menubars and menus from the content of a resource file.
The resource entries format is (for a menubar named 'MenuBar'):

       MenuBar           = Menu1 Menu2 ...

       Menu1.type        = RADIO | CHECK | MENU | ITEM
       Menu1             = Item1 Item2 - Item3 ...
       Menu1.text        = text
       Menu1.icon        = icon_name
       Menu1.mnemonic    = mnemonic
       Menu1.accelerator = accelerator
       Menu1.action      = action_name
       Menu1.selected    = true | false
       Menu1.enabled     = true | false
       ...
     mnemonic is a single character
     accelerator is of the form described in KeyStroke.getKeyStroke(String).
     '-' represents a separator

All entries are optional except the '.type' entry Consecutive RADIO items are put in a ButtonGroup

Field Summary

Fields inherited from class org.apache.batik.util.resources.ResourceManager
`bundle`

Constructor Summary
`MenuFactory(java.util.ResourceBundle rb, ActionMap am)` Creates a new menu factory

Method Summary
`javax.swing.JCheckBoxMenuItem` `createJCheckBoxMenuItem(java.lang.String name)` Creates and returns a new swing check box menu item
`javax.swing.JCheckBoxMenuItem` `createJCheckBoxMenuItem(java.lang.String name, java.lang.String specialization)` Creates and returns a new swing check box menu item
`javax.swing.JMenu` `createJMenu(java.lang.String name)` Creates and returns a new swing menu
`javax.swing.JMenu` `createJMenu(java.lang.String name, java.lang.String specialization)` Creates and returns a new swing menu
`javax.swing.JMenuBar` `createJMenuBar(java.lang.String name)` Creates and returns a swing menu bar
`javax.swing.JMenuBar` `createJMenuBar(java.lang.String name, java.lang.String specialization)` Creates and returns a swing menu bar
`protected javax.swing.JComponent` `createJMenuComponent(java.lang.String name, java.lang.String specialization)` Creates and returns a menu item or a separator
`javax.swing.JMenuItem` `createJMenuItem(java.lang.String name)` Creates and returns a new swing menu item
`javax.swing.JMenuItem` `createJMenuItem(java.lang.String name, java.lang.String specialization)` Creates and returns a new swing menu item
`javax.swing.JRadioButtonMenuItem` `createJRadioButtonMenuItem(java.lang.String name)` Creates and returns a new swing radio button menu item
`javax.swing.JRadioButtonMenuItem` `createJRadioButtonMenuItem(java.lang.String name, java.lang.String specialization)` Creates and returns a new swing radio button menu item
`protected boolean` `getSpecializedBoolean(java.lang.String name, java.lang.String specialization)` Gets a possibly specialized resource boolean.
`protected java.lang.String` `getSpecializedString(java.lang.String name, java.lang.String specialization)` Gets a possibly specialized resource string.
`protected java.util.List` `getSpecializedStringList(java.lang.String name, java.lang.String specialization)` Gets a possibly specialized resource string list.
`protected void` `initializeJMenuItem(javax.swing.JMenuItem item, java.lang.String name, java.lang.String specialization)` Initializes a swing menu item

Methods inherited from class org.apache.batik.util.resources.ResourceManager
`getBoolean, getCharacter, getInteger, getString, getStringList, getStringList, getStringList`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### MenuFactory

    public MenuFactory(java.util.ResourceBundle rb,
                       ActionMap am)

  Creates a new menu factory

  Parameters:
    `rb` - the resource bundle that contains the menu bar description.
    `am` - the actions to add to menu items

Method Detail

### createJMenuBar

    public javax.swing.JMenuBar createJMenuBar(java.lang.String name)
                                        throws java.util.MissingResourceException,
                                               ResourceFormatException,
                                               MissingListenerException

  Creates and returns a swing menu bar

  Parameters:
    `name` - the name of the menu bar in the resource bundle
  Throws:
    `java.util.MissingResourceException` - if one of the keys that compose the menu is missing. It is not thrown if the mnemonic, the accelerator and the action keys are missing
    `ResourceFormatException` - if the mnemonic is not a single character and if the accelerator is malformed
    `MissingListenerException` - if an item action is not found in the action map

### createJMenuBar

    public javax.swing.JMenuBar createJMenuBar(java.lang.String name,
                                               java.lang.String specialization)
                                        throws java.util.MissingResourceException,
                                               ResourceFormatException,
                                               MissingListenerException

  Creates and returns a swing menu bar

  Parameters:
    `name` - the name of the menu bar in the resource bundle
    `specialization` - the name of the specialization to look for
  Throws:
    `java.util.MissingResourceException` - if one of the keys that compose the menu is missing. It is not thrown if the mnemonic, the accelerator and the action keys are missing
    `ResourceFormatException` - if the mnemonic is not a single character and if the accelerator is malformed
    `MissingListenerException` - if an item action is not found in the action map

### getSpecializedString

    protected java.lang.String getSpecializedString(java.lang.String name,
                                                    java.lang.String specialization)

  Gets a possibly specialized resource string. This will first look for `name + '.' + specialization`, and if that resource doesn't exist, `name`.

### getSpecializedStringList

    protected java.util.List getSpecializedStringList(java.lang.String name,
                                                      java.lang.String specialization)

  Gets a possibly specialized resource string list. This will first look for `name + '.' + specialization`, and if that resource doesn't exist, `name`.

### getSpecializedBoolean

    protected boolean getSpecializedBoolean(java.lang.String name,
                                            java.lang.String specialization)

  Gets a possibly specialized resource boolean. This will first look for `name + '.' + specialization`, and if that resource doesn't exist, `name`.

### createJMenuComponent

    protected javax.swing.JComponent createJMenuComponent(java.lang.String name,
                                                          java.lang.String specialization)
                                                   throws java.util.MissingResourceException,
                                                          ResourceFormatException,
                                                          MissingListenerException

  Creates and returns a menu item or a separator

  Parameters:
    `name` - the name of the menu item or "-" to create a separator
    `specialization` - the name of the specialization to look for
  Throws:
    `java.util.MissingResourceException` - if key is not the name of a menu item. It is not thrown if the mnemonic, the accelerator and the action keys are missing
    `ResourceFormatException` - in case of malformed entry
    `MissingListenerException` - if an item action is not found in the action map

### createJMenu

    public javax.swing.JMenu createJMenu(java.lang.String name)
                                  throws java.util.MissingResourceException,
                                         ResourceFormatException,
                                         MissingListenerException

  Creates and returns a new swing menu

  Parameters:
    `name` - the name of the menu bar in the resource bundle
  Throws:
    `java.util.MissingResourceException` - if one of the keys that compose the menu is missing. It is not thrown if the mnemonic, the accelerator and the action keys are missing
    `ResourceFormatException` - if the mnemonic is not a single character.
    `MissingListenerException` - if a item action is not found in the action map.

### createJMenu

    public javax.swing.JMenu createJMenu(java.lang.String name,
                                         java.lang.String specialization)
                                  throws java.util.MissingResourceException,
                                         ResourceFormatException,
                                         MissingListenerException

  Creates and returns a new swing menu

  Parameters:
    `name` - the name of the menu bar in the resource bundle
    `specialization` - the name of the specialization to look for
  Throws:
    `java.util.MissingResourceException` - if one of the keys that compose the menu is missing. It is not thrown if the mnemonic, the accelerator and the action keys are missing
    `ResourceFormatException` - if the mnemonic is not a single character.
    `MissingListenerException` - if a item action is not found in the action map.

### createJMenuItem

    public javax.swing.JMenuItem createJMenuItem(java.lang.String name)
                                          throws java.util.MissingResourceException,
                                                 ResourceFormatException,
                                                 MissingListenerException

  Creates and returns a new swing menu item

  Parameters:
    `name` - the name of the menu item
  Throws:
    `java.util.MissingResourceException` - if one of the keys that compose the menu item is missing. It is not thrown if the mnemonic, the accelerator and the action keys are missing
    `ResourceFormatException` - if the mnemonic is not a single character.
    `MissingListenerException` - if then item action is not found in the action map.

### createJMenuItem

    public javax.swing.JMenuItem createJMenuItem(java.lang.String name,
                                                 java.lang.String specialization)
                                          throws java.util.MissingResourceException,
                                                 ResourceFormatException,
                                                 MissingListenerException

  Creates and returns a new swing menu item

  Parameters:
    `name` - the name of the menu item
    `specialization` - the name of the specialization to look for
  Throws:
    `java.util.MissingResourceException` - if one of the keys that compose the menu item is missing. It is not thrown if the mnemonic, the accelerator and the action keys are missing
    `ResourceFormatException` - if the mnemonic is not a single character.
    `MissingListenerException` - if then item action is not found in the action map.

### createJRadioButtonMenuItem

    public javax.swing.JRadioButtonMenuItem createJRadioButtonMenuItem(java.lang.String name)
                                                                throws java.util.MissingResourceException,
                                                                       ResourceFormatException,
                                                                       MissingListenerException

  Creates and returns a new swing radio button menu item

  Parameters:
    `name` - the name of the menu item
  Throws:
    `java.util.MissingResourceException` - if one of the keys that compose the menu item is missing. It is not thrown if the mnemonic, the accelerator and the action keys are missing
    `ResourceFormatException` - if the mnemonic is not a single character.
    `MissingListenerException` - if then item action is not found in the action map.

### createJRadioButtonMenuItem

    public javax.swing.JRadioButtonMenuItem createJRadioButtonMenuItem(java.lang.String name,
                                                                       java.lang.String specialization)
                                                                throws java.util.MissingResourceException,
                                                                       ResourceFormatException,
                                                                       MissingListenerException

  Creates and returns a new swing radio button menu item

  Parameters:
    `name` - the name of the menu item
    `specialization` - the name of the specialization to look for
  Throws:
    `java.util.MissingResourceException` - if one of the keys that compose the menu item is missing. It is not thrown if the mnemonic, the accelerator and the action keys are missing
    `ResourceFormatException` - if the mnemonic is not a single character.
    `MissingListenerException` - if then item action is not found in the action map.

### createJCheckBoxMenuItem

    public javax.swing.JCheckBoxMenuItem createJCheckBoxMenuItem(java.lang.String name)
                                                          throws java.util.MissingResourceException,
                                                                 ResourceFormatException,
                                                                 MissingListenerException

  Creates and returns a new swing check box menu item

  Parameters:
    `name` - the name of the menu item
  Throws:
    `java.util.MissingResourceException` - if one of the keys that compose the menu item is missing. It is not thrown if the mnemonic, the accelerator and the action keys are missing
    `ResourceFormatException` - if the mnemonic is not a single character.
    `MissingListenerException` - if then item action is not found in the action map.

### createJCheckBoxMenuItem

    public javax.swing.JCheckBoxMenuItem createJCheckBoxMenuItem(java.lang.String name,
                                                                 java.lang.String specialization)
                                                          throws java.util.MissingResourceException,
                                                                 ResourceFormatException,
                                                                 MissingListenerException

  Creates and returns a new swing check box menu item

  Parameters:
    `name` - the name of the menu item
    `specialization` - the name of the specialization to look for
  Throws:
    `java.util.MissingResourceException` - if one of the keys that compose the menu item is missing. It is not thrown if the mnemonic, the accelerator and the action keys are missing
    `ResourceFormatException` - if the mnemonic is not a single character.
    `MissingListenerException` - if then item action is not found in the action map.

### initializeJMenuItem

    protected void initializeJMenuItem(javax.swing.JMenuItem item,
                                       java.lang.String name,
                                       java.lang.String specialization)
                                throws ResourceFormatException,
                                       MissingListenerException

  Initializes a swing menu item

  Parameters:
    `item` - the menu item to initialize
    `name` - the name of the menu item
    `specialization` - the name of the specialization to look for
  Throws:
    `ResourceFormatException` - if the mnemonic is not a single character.
    `MissingListenerException` - if then item action is not found in the action map.

Copyright © 2008 Apache Software Foundation. All Rights Reserved.