// This example is from the book "Java in a Nutshell, Second Edition".
// Written by David Flanagan. Copyright (c) 1997 O'Reilly & Associates.
// You may distribute this source code for non-commercial purposes only.
// You may study, modify, and use this example for any purpose, as long as
// this notice is retained. Note that this example is provided "as is",
// WITHOUT WARRANTY of any kind either expressed or implied.
import java.awt.*;
import java.awt.event.*;
import java.util.Locale;
import java.util.ResourceBundle;
import java.util.MissingResourceException;
/** A convenience class to automatically create localized menu panes */
public class SimpleMenu {
/** The convenience method that creates menu panes */
public static Menu create(String bundlename,
String menuname, String[] itemnames,
ActionListener listener, boolean popup) {
// Get the resource bundle used for this menu.
ResourceBundle b = ResourceBundle.getBundle(bundlename);
// Get the menu title from the bundle. Use name as default label.
String menulabel;
try { menulabel = b.getString(menuname + ".label"); }
catch(MissingResourceException e) { menulabel = menuname; }
// Create the menu pane.
Menu m;
if (popup) m = new PopupMenu(menulabel);
else m = new Menu(menulabel);
// For each named item in the menu.
for(int i = 0; i |