Class ResourceBundleSupport
- java.lang.Object
-
- org.jfree.util.ResourceBundleSupport
-
public class ResourceBundleSupport extends java.lang.Object
An utility class to ease up using property-file resource bundles.The class support references within the resource bundle set to minimize the occurence of duplicate keys. References are given in the format:
a.key.name=@referenced.key
A lookup to a key in an other resource bundle should be written by
a.key.name=@@resourcebundle_name@referenced.key
- Author:
- Thomas Morgner
-
-
Constructor Summary
Constructors Modifier Constructor Description ResourceBundleSupport(java.lang.String baseName)Creates a new instance.ResourceBundleSupport(java.util.Locale locale, java.lang.String baseName)Creates a new instance.ResourceBundleSupport(java.util.Locale locale, java.util.ResourceBundle resourceBundle)Creates a new instance.protectedResourceBundleSupport(java.util.Locale locale, java.util.ResourceBundle resourceBundle, java.lang.String baseName)Creates a new instance.ResourceBundleSupport(java.util.ResourceBundle resourceBundle)Creates a new instance.protectedResourceBundleSupport(java.util.ResourceBundle resourceBundle, java.lang.String baseName)Creates a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description javax.swing.JMenucreateMenu(java.lang.String keyPrefix)Returns a JMenu created from a resource bundle definition.javax.swing.IconcreateTransparentIcon(int width, int height)Creates a transparent icon.java.lang.StringformatMessage(java.lang.String key, java.lang.Object parameter)Formats the message stored in the resource bundle (using a MessageFormat).java.lang.StringformatMessage(java.lang.String key, java.lang.Object[] parameters)Formats the message stored in the resource bundle (using a MessageFormat).java.lang.StringformatMessage(java.lang.String key, java.lang.Object par1, java.lang.Object par2)Formats the message stored in the resource bundle (using a MessageFormat).javax.swing.IcongetIcon(java.lang.String key)Returns an unscaled icon.javax.swing.IcongetIcon(java.lang.String key, boolean large)Returns an scaled icon suitable for buttons or menus.javax.swing.KeyStrokegetKeyStroke(java.lang.String key)Returns the keystroke stored at the given resourcebundle key.javax.swing.KeyStrokegetKeyStroke(java.lang.String key, int mask)Returns the keystroke stored at the given resourcebundle key.java.util.LocalegetLocale()Returns the current locale for this resource bundle.java.lang.IntegergetMnemonic(java.lang.String key)Returns the mnemonic stored at the given resourcebundle key.javax.swing.KeyStrokegetOptionalKeyStroke(java.lang.String key)Returns an optional key stroke.javax.swing.KeyStrokegetOptionalKeyStroke(java.lang.String key, int mask)Returns an optional key stroke.java.lang.IntegergetOptionalMnemonic(java.lang.String key)Returns an optional mnemonic.protected java.lang.StringgetResourceBase()The base name of the resource bundle.java.net.URLgetResourceURL(java.lang.String key)Returns a URL pointing to a resource located in the classpath.java.lang.StringgetString(java.lang.String key)Gets a string for the given key from this resource bundle or one of its parents.protected java.lang.StringinternalGetString(java.lang.String key)Performs the lookup for the given key.
-
-
-
Constructor Detail
-
ResourceBundleSupport
public ResourceBundleSupport(java.util.Locale locale, java.lang.String baseName)
Creates a new instance.- Parameters:
locale- the locale.baseName- the base name of the resource bundle, a fully qualified class name
-
ResourceBundleSupport
protected ResourceBundleSupport(java.util.Locale locale, java.util.ResourceBundle resourceBundle, java.lang.String baseName)
Creates a new instance.- Parameters:
locale- the locale for which this resource bundle is created.resourceBundle- the resourcebundlebaseName- the base name of the resource bundle, a fully qualified class name
-
ResourceBundleSupport
public ResourceBundleSupport(java.util.Locale locale, java.util.ResourceBundle resourceBundle)
Creates a new instance.- Parameters:
locale- the locale for which the resource bundle is created.resourceBundle- the resourcebundle
-
ResourceBundleSupport
public ResourceBundleSupport(java.lang.String baseName)
Creates a new instance.- Parameters:
baseName- the base name of the resource bundle, a fully qualified class name
-
ResourceBundleSupport
protected ResourceBundleSupport(java.util.ResourceBundle resourceBundle, java.lang.String baseName)
Creates a new instance.- Parameters:
resourceBundle- the resourcebundlebaseName- the base name of the resource bundle, a fully qualified class name
-
ResourceBundleSupport
public ResourceBundleSupport(java.util.ResourceBundle resourceBundle)
Creates a new instance.- Parameters:
resourceBundle- the resourcebundle
-
-
Method Detail
-
getResourceBase
protected final java.lang.String getResourceBase()
The base name of the resource bundle.- Returns:
- the resource bundle's name.
-
getString
public java.lang.String getString(java.lang.String key)
Gets a string for the given key from this resource bundle or one of its parents. If the key is a link, the link is resolved and the referenced string is returned instead.- Parameters:
key- the key for the desired string- Returns:
- the string for the given key
- Throws:
java.lang.NullPointerException- ifkeyisnulljava.util.MissingResourceException- if no object for the given key can be foundjava.lang.ClassCastException- if the object found for the given key is not a string
-
internalGetString
protected java.lang.String internalGetString(java.lang.String key)
Performs the lookup for the given key. If the key points to a link the link is resolved and that key is looked up instead.- Parameters:
key- the key for the string- Returns:
- the string for the given key
-
getIcon
public javax.swing.Icon getIcon(java.lang.String key, boolean large)
Returns an scaled icon suitable for buttons or menus.- Parameters:
key- the name of the resource bundle keylarge- true, if the image should be scaled to 24x24, or false for 16x16- Returns:
- the icon.
-
getIcon
public javax.swing.Icon getIcon(java.lang.String key)
Returns an unscaled icon.- Parameters:
key- the name of the resource bundle key- Returns:
- the icon.
-
getMnemonic
public java.lang.Integer getMnemonic(java.lang.String key)
Returns the mnemonic stored at the given resourcebundle key. The mnemonic should be either the symbolic name of one of the KeyEvent.VK_* constants (without the 'VK_') or the character for that key.For the enter key, the resource bundle would therefore either contain "ENTER" or "\n".
a.resourcebundle.key=ENTER an.other.resourcebundle.key=\n
- Parameters:
key- the resourcebundle key- Returns:
- the mnemonic
-
getOptionalMnemonic
public java.lang.Integer getOptionalMnemonic(java.lang.String key)
Returns an optional mnemonic.- Parameters:
key- the key.- Returns:
- The mnemonic.
-
getKeyStroke
public javax.swing.KeyStroke getKeyStroke(java.lang.String key)
Returns the keystroke stored at the given resourcebundle key.The keystroke will be composed of a simple key press and the platform's MenuKeyMask.
The keystrokes character key should be either the symbolic name of one of the KeyEvent.VK_* constants or the character for that key.
For the 'A' key, the resource bundle would therefore either contain "VK_A" or "a".
a.resourcebundle.key=VK_A an.other.resourcebundle.key=a
- Parameters:
key- the resourcebundle key- Returns:
- the mnemonic
- See Also:
Toolkit.getMenuShortcutKeyMask()
-
getOptionalKeyStroke
public javax.swing.KeyStroke getOptionalKeyStroke(java.lang.String key)
Returns an optional key stroke.- Parameters:
key- the key.- Returns:
- The key stroke.
-
getKeyStroke
public javax.swing.KeyStroke getKeyStroke(java.lang.String key, int mask)
Returns the keystroke stored at the given resourcebundle key.The keystroke will be composed of a simple key press and the given KeyMask. If the KeyMask is zero, a plain Keystroke is returned.
The keystrokes character key should be either the symbolic name of one of the KeyEvent.VK_* constants or the character for that key.
For the 'A' key, the resource bundle would therefore either contain "VK_A" or "a".
a.resourcebundle.key=VK_A an.other.resourcebundle.key=a
- Parameters:
key- the resourcebundle key.mask- the mask.- Returns:
- the mnemonic
- See Also:
Toolkit.getMenuShortcutKeyMask()
-
getOptionalKeyStroke
public javax.swing.KeyStroke getOptionalKeyStroke(java.lang.String key, int mask)
Returns an optional key stroke.- Parameters:
key- the key.mask- the mask.- Returns:
- The key stroke.
-
createMenu
public javax.swing.JMenu createMenu(java.lang.String keyPrefix)
Returns a JMenu created from a resource bundle definition.The menu definition consists of two keys, the name of the menu and the mnemonic for that menu. Both keys share a common prefix, which is extended by ".name" for the name of the menu and ".mnemonic" for the mnemonic.
# define the file menu menu.file.name=File menu.file.mnemonic=F
The menu definition above can be used to create the menu by callingcreateMenu ("menu.file").- Parameters:
keyPrefix- the common prefix for that menu- Returns:
- the created menu
-
getResourceURL
public java.net.URL getResourceURL(java.lang.String key)
Returns a URL pointing to a resource located in the classpath. The resource is looked up using the given key.Example: The load a file named 'logo.gif' which is stored in a java package named 'org.jfree.resources':
mainmenu.logo=org/jfree/resources/logo.gif
The URL for that file can be queried with:getResource("mainmenu.logo");.- Parameters:
key- the key for the resource- Returns:
- the resource URL
-
createTransparentIcon
public javax.swing.Icon createTransparentIcon(int width, int height)
Creates a transparent icon. The Icon can be used for aligning menu items.- Parameters:
width- the width of the new iconheight- the height of the new icon- Returns:
- the created transparent icon.
-
formatMessage
public java.lang.String formatMessage(java.lang.String key, java.lang.Object parameter)
Formats the message stored in the resource bundle (using a MessageFormat).- Parameters:
key- the resourcebundle keyparameter- the parameter for the message- Returns:
- the formated string
-
formatMessage
public java.lang.String formatMessage(java.lang.String key, java.lang.Object par1, java.lang.Object par2)
Formats the message stored in the resource bundle (using a MessageFormat).- Parameters:
key- the resourcebundle keypar1- the first parameter for the messagepar2- the second parameter for the message- Returns:
- the formated string
-
formatMessage
public java.lang.String formatMessage(java.lang.String key, java.lang.Object[] parameters)
Formats the message stored in the resource bundle (using a MessageFormat).- Parameters:
key- the resourcebundle keyparameters- the parameter collection for the message- Returns:
- the formated string
-
getLocale
public java.util.Locale getLocale()
Returns the current locale for this resource bundle.- Returns:
- the locale.
-
-