List Resource Bundles
The ListResourceBundle class takes its name from the fact that
it manages a list of resources. Those resources are stored in a cla0ss
file, allowing you to provide localized resources for any datatype.
Resources in a ListResourceBundle are not limited to text
strings, as are the resources in a PropertyResourceBundle. For
example, images are one example of resources that can be localized, but
can't be stored as text strings. The company logo is one common image
important to most companies. Companies pride themselves on, and can earn
hefty profits from, logo recognition alone. Logos can be associated with a
company or a particular product.
ListResourceBundle, an abstract subclass of
ResourceBundle stores its keys and values in a two-dimensional
Object array. This mechanism allows you to create resources of
arbitrary datatypes unlike the PropertyResourceBundle, in
which both the keys and values must be strings. When you use a
ListResourceBundle, the only restriction is that the keys must
be specified as strings.
When you create a subclass of ListResourceBundle, you must
override the getContents() method that returns a two-
dimensional Object array. The first element is a key (a
String) used to access the value. The second element of the
pair can be of any datatype, such as an AWT Button, an
Integer number, or a String. Example 4-13 shows a
simple ListResourceBundle called
SampleResourceBundle and illustrates how to create a subclass
of ListResourceBundle.
Example 4-13. A Subclass of ListResourceBundle Called SampleResourceBundle
import java. awt.*;
import java. util.*;
public class SampleResourceBundle extends ListResourceBundle {
public Object [][] getContents() {
return contents;
}
static final Object [][] contents = {
{" okButton", new Button(" OK")},
{" negativeInteger", new Integer(-1)},
{" textString", "Thank you for reading our book"}
};
}
The ResourceBundle class provides a method called getObject( String key). When
you retrieve a value from your resource bundle, you must cast it to its proper type.
To retrieve the key okButton from the resource bundle in Example 4-13, we would
pass the okButton string to the getObect method. This method would return an
Object, which would then be cast to Button to use the Button object.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|