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

java.lang.Object
  extended by org.apache.batik.util.resources.ResourceManager
      extended by 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(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
 JCheckBoxMenuItem createJCheckBoxMenuItem(String name, String specialization)
          Creates and returns a new swing check box menu item
 JMenu createJMenu(String name)
          Creates and returns a new swing menu
 JMenu createJMenu(String name, String specialization)
          Creates and returns a new swing menu
 JMenuBar createJMenuBar(String name)
          Creates and returns a swing menu bar
 JMenuBar createJMenuBar(String name, String specialization)
          Creates and returns a swing menu bar
protected  JComponent createJMenuComponent(String name, String specialization)
          Creates and returns a menu item or a separator
 JMenuItem createJMenuItem(String name)
          Creates and returns a new swing menu item
 JMenuItem createJMenuItem(String name, String specialization)
          Creates and returns a new swing menu item
 JRadioButtonMenuItem createJRadioButtonMenuItem(String name)
          Creates and returns a new swing radio button menu item
 JRadioButtonMenuItem createJRadioButtonMenuItem(String name, String specialization)
          Creates and returns a new swing radio button menu item
protected  boolean getSpecializedBoolean(String name, String specialization)
          Gets a possibly specialized resource boolean.
protected  String getSpecializedString(String name, String specialization)
          Gets a possibly specialized resource string.
protected  List getSpecializedStringList(String name, String specialization)
          Gets a possibly specialized resource string list.
protected  void initializeJMenuItem(JMenuItem item, String name, 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(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

createJMenuBar

public JMenuBar createJMenuBar(String name,
                               String specialization)
                        throws 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:
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 String getSpecializedString(String name,
                                      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 List getSpecializedStringList(String name,
                                        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(String name,
                                        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 JComponent createJMenuComponent(String name,
                                          String specialization)
                                   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
specialization - the name of the specialization to look for
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.

createJMenu

public JMenu createJMenu(String name,
                         String specialization)
                  throws 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:
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.

createJMenuItem

public JMenuItem createJMenuItem(String name,
                                 String specialization)
                          throws 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:
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.

createJRadioButtonMenuItem

public JRadioButtonMenuItem createJRadioButtonMenuItem(String name,
                                                       String specialization)
                                                throws 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:
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.

createJCheckBoxMenuItem

public JCheckBoxMenuItem createJCheckBoxMenuItem(String name,
                                                 String specialization)
                                          throws 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:
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,
                                   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.