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

java.lang.Object
  extended byorg.apache.batik.util.gui.resource.ResourceManager
      extended byorg.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: mod+mod+...+X
   where mod is Shift, Meta, Alt or Ctrl
 '-' 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.gui.resource.ResourceManager
bundle
 
Constructor Summary
MenuFactory(ResourceBundle rb, ActionMap am)
          Creates a new menu factory
 
Method Summary
 JCheckBoxMenuItem createJCheckBoxMenuItem(String name)
          Creates and returns a new swing check box menu item
 JMenu createJMenu(String name)
          Creates and returns a new swing menu
 JMenuBar createJMenuBar(String name)
          Creates and returns a swing menu bar
protected  JComponent createJMenuComponent(String name)
          Creates and returns a menu item or a separator
 JMenuItem createJMenuItem(String name)
          Creates and returns a new swing menu item
 JRadioButtonMenuItem createJRadioButtonMenuItem(String name)
          Creates and returns a new swing radio button menu item
protected  void initializeJMenuItem(JMenuItem item, String name)
          Initializes a swing menu item
protected  KeyStroke toKeyStroke(String str)
          Translate a string into a key stroke.
 
Methods inherited from class org.apache.batik.util.gui.resource.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(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 JMenuBar createJMenuBar(String name)
                        throws MissingResourceException,
                               ResourceFormatException,
                               MissingListenerException
Creates and returns a swing menu bar

Parameters:
name - the name of the menu bar in the resource bundle
Throws:
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

createJMenuComponent

protected JComponent createJMenuComponent(String name)
                                   throws 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
Throws:
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 JMenu createJMenu(String name)
                  throws MissingResourceException,
                         ResourceFormatException,
                         MissingListenerException
Creates and returns a new swing menu

Parameters:
name - the name of the menu bar in the resource bundle
Throws:
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 JMenuItem createJMenuItem(String name)
                          throws MissingResourceException,
                                 ResourceFormatException,
                                 MissingListenerException
Creates and returns a new swing menu item

Parameters:
name - the name of the menu item
Throws:
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 JRadioButtonMenuItem createJRadioButtonMenuItem(String name)
                                                throws MissingResourceException,
                                                       ResourceFormatException,
                                                       MissingListenerException
Creates and returns a new swing radio button menu item

Parameters:
name - the name of the menu item
Throws:
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 JCheckBoxMenuItem createJCheckBoxMenuItem(String name)
                                          throws MissingResourceException,
                                                 ResourceFormatException,
                                                 MissingListenerException
Creates and returns a new swing check box menu item

Parameters:
name - the name of the menu item
Throws:
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(JMenuItem item,
                                   String name)
                            throws ResourceFormatException,
                                   MissingListenerException
Initializes a swing menu item

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

toKeyStroke

protected KeyStroke toKeyStroke(String str)
Translate a string into a key stroke. See the class comment for details

Parameters:
str - a string


Copyright ? 2005 Apache Software Foundation. All Rights Reserved.