Class JMenuLoader

java.lang.Object
  |
  +--JMenuLoader

public class JMenuLoader
extends java.lang.Object

Builds up a Swing menu by reading the settings from a resource file. It's intended to use this class for loading menu's created with Magic Menu.


Field Summary
static java.lang.String ACCEL_SUFFIX
          Suffix applied to the key used in resource file lookups for a accelerator.
static java.lang.String ACTION_SUFFIX
          Suffix applied to the key used in resource file lookups for an action.
static java.lang.String IMAGE_SUFFIX
          Suffix applied to the key used in resource file lookups for an image.
static java.lang.String LABEL_SUFFIX
          Suffix applied to the key used in resource file lookups for a label.
static char MNEMONIC_ESCAPE
          The escape character to identify a mnemonic in a label.
static java.lang.String TYPE_CHECKBOX
          Type identifier of a checkbox menu item.
static java.lang.String TYPE_ITEM
          Type identifier of a menu item.
static java.lang.String TYPE_MENU
          Type identifier of a submenu.
static java.lang.String TYPE_SUFFIX
          Suffix applied to the key used in resource file lookups for the type of a menu item.
 
Constructor Summary
JMenuLoader(java.util.Properties properties)
          Create a new JMenuLoader object.
JMenuLoader(java.util.ResourceBundle resources)
          Create a new JMenuLoader object.
 
Method Summary
(package private) static void ()
           
protected  javax.swing.JMenu createMenu(java.lang.String key)
          Create a menu.
protected  javax.swing.JMenuBar createMenuBar(java.lang.String key)
          Create the menubar for the specified key.
 javax.swing.JMenuItem createMenuItem(java.lang.String key)
          This is the hook through which all menu items are created.
protected  java.awt.event.ActionListener getAction(java.lang.String cmd)
          Return the Action with name cmd stored in the command hashtable.
 java.util.Hashtable getCommands()
          Returns a hashtable containing the menu commands.
 java.awt.event.ActionListener getDefaultActionListener()
          Return the default action listener.
protected  java.net.URL getResource(java.lang.String key)
          Read the name of an image from the resource bundle and convert if to an URL.
protected  java.lang.String getResourceString(java.lang.String key)
          Read a string from the resource bundle containing the menu definition.
protected  javax.swing.ImageIcon loadImageIcon(java.net.URL url)
          Hook through which ImageIcons are loaded.
protected  void reportError(java.lang.String text)
          This method will be called, if some errors occur.
 void setCommands(java.util.Hashtable commands)
          Set the hashtable containing the menu commands.
 void setDefaultActionListener(java.awt.event.ActionListener al)
          Set the default action listener.
protected  java.lang.String[] tokenize(java.lang.String input)
          Take the given string and chop it up into a series of strings on whitespace boundries.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

IMAGE_SUFFIX

public static final java.lang.String IMAGE_SUFFIX
Suffix applied to the key used in resource file lookups for an image.

LABEL_SUFFIX

public static final java.lang.String LABEL_SUFFIX
Suffix applied to the key used in resource file lookups for a label.

ACCEL_SUFFIX

public static final java.lang.String ACCEL_SUFFIX
Suffix applied to the key used in resource file lookups for a accelerator.

ACTION_SUFFIX

public static final java.lang.String ACTION_SUFFIX
Suffix applied to the key used in resource file lookups for an action.

TYPE_SUFFIX

public static final java.lang.String TYPE_SUFFIX
Suffix applied to the key used in resource file lookups for the type of a menu item.

TYPE_ITEM

public static final java.lang.String TYPE_ITEM
Type identifier of a menu item.

TYPE_MENU

public static final java.lang.String TYPE_MENU
Type identifier of a submenu.

TYPE_CHECKBOX

public static final java.lang.String TYPE_CHECKBOX
Type identifier of a checkbox menu item.

MNEMONIC_ESCAPE

public static final char MNEMONIC_ESCAPE
The escape character to identify a mnemonic in a label.
Constructor Detail

JMenuLoader

public JMenuLoader(java.util.ResourceBundle resources)
Create a new JMenuLoader object.
Parameters:
resources - A resources bundle containing the menu settings.

JMenuLoader

public JMenuLoader(java.util.Properties properties)
Create a new JMenuLoader object.
Parameters:
properties - Properties containing the menu settings.
Method Detail

static void ()

getCommands

public java.util.Hashtable getCommands()
Returns a hashtable containing the menu commands. The hashtable contains pairs of action name and Action object.

setCommands

public void setCommands(java.util.Hashtable commands)
Set the hashtable containing the menu commands. This hashtable should contain pairs of action name and Action object. If a commands hashtable is set, this should be done before the first call to createMenuBar, createMenu or createMenuItem.
See Also:
createMenuBar(java.lang.String), createMenu(java.lang.String), createMenuItem(java.lang.String)

getDefaultActionListener

public java.awt.event.ActionListener getDefaultActionListener()
Return the default action listener. This action listener is registered at every menu item, which has no associated command in the commands hashtable.

setDefaultActionListener

public void setDefaultActionListener(java.awt.event.ActionListener al)
Set the default action listener. This action listener is registered at every menu item,which has no associated command in the commands hashtable. If a ActionListener is set, this should be done before the first call to createMenuBar, createMenu or createMenuItem.
See Also:
createMenuBar(java.lang.String), createMenu(java.lang.String), createMenuItem(java.lang.String)

createMenuItem

public javax.swing.JMenuItem createMenuItem(java.lang.String key)
This is the hook through which all menu items are created.

getAction

protected java.awt.event.ActionListener getAction(java.lang.String cmd)
Return the Action with name cmd stored in the command hashtable. If it doesn't exist, return the default action listener.
Parameters:
cmd - The action command of the associated menu item.

getResourceString

protected java.lang.String getResourceString(java.lang.String key)
Read a string from the resource bundle containing the menu definition.

getResource

protected java.net.URL getResource(java.lang.String key)
Read the name of an image from the resource bundle and convert if to an URL. The name in the resource bundle must be a relative path. It's relative to the location of this class. This method is only available, if the checkbox Display Images im Menu Items was selected at creation time of this class.

tokenize

protected java.lang.String[] tokenize(java.lang.String input)
Take the given string and chop it up into a series of strings on whitespace boundries. This is useful for trying to get an array of strings out of the resource file.

createMenuBar

protected javax.swing.JMenuBar createMenuBar(java.lang.String key)
Create the menubar for the specified key. This pulls the definition of the menu from the associated resource bundle.

createMenu

protected javax.swing.JMenu createMenu(java.lang.String key)
Create a menu. This pulls the definition of the menu from the associated resource file.

loadImageIcon

protected javax.swing.ImageIcon loadImageIcon(java.net.URL url)
Hook through which ImageIcons are loaded. If some kind of image cache should be implemented, this method can be overwritten. This method is only available, if the checkbox Display Images im Menu Items was selected at creation time of this class.

reportError

protected void reportError(java.lang.String text)
This method will be called, if some errors occur. By default this will cause an output to stderr.