A simple test program for the above code
// Get the locale: default, or specified on command-line
Locale locale;
if (args.length == 2) locale = new Locale(args[0], args[1]);
else locale = Locale.getDefault();
// Get the resource bundle for that Locale. This will throw an
// (unchecked) MissingResourceException if no bundle is found.
ResourceBundle bundle =
ResourceBundle.getBundle("com.davidflanagan.examples.i18n.Menus",
locale);
// Create a simple GUI window to display the menu with
final JFrame f = new JFrame("SimpleMenu: " + // Window title
locale.getDisplayName(Locale.getDefault()));
JMenuBar menubar = new JMenuBar(); // Create a menubar.
f.setJMenuBar(menubar); // Add menubar to window
// Define an action listener for that our menu will use.
ActionListener listener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
String s = e.getActionCommand();
Component c = f.getContentPane();
if (s.equals("red")) c.setBackground(Color.red);
else if (s.equals("green")) c.setBackground(Color.green);
else if (s.equals("blue")) c.setBackground(Color.blue);
}
};
// Now create a menu using our convenience routine with the resource
// bundle and action listener we've created
JMenu menu = SimpleMenu.create(bundle, "colors",
new String[] {"red", "green", "blue"},
listener);
// Finally add the menu to the GUI, and pop it up
menubar.add(menu); // Add the menu to the menubar
f.setSize(300, 150); // Set the window size.
f.setVisible(true); // Pop the window up.