The Java Program: ItemFactory.java

  1 import java.awt.Event;
  2 
  3 import javax.swing.JMenuItem;
  4 import javax.swing.JCheckBoxMenuItem;
  5 import javax.swing.KeyStroke;
  6 import java.awt.event.ActionListener;
  7 
  8 
  9 final public class ItemFactory {
 10 
 11    public static JMenuItem createMenuItem (String label, char mnemonic) {
 12       return createMenuItem (label, mnemonic, null, null);
 13    }
 14 
 15    public static JMenuItem createMenuItem (String label, char mnemonic, char k) {
 16       return createMenuItem (label, mnemonic, k, null);
 17    }
 18 
 19    public static JMenuItem createMenuItem (String label, char mnemonic, ActionListener al) {
 20       return createMenuItem (label, mnemonic, null, al);
 21    }
 22 
 23    public static JMenuItem createMenuItem (String label, char mnemonic, char k, ActionListener al) {
 24       return createMenuItem (label, mnemonic, KeyStroke.getKeyStroke (k, Event.CTRL_MASK), al);
 25    }
 26 
 27    public static JMenuItem createMenuItem (String label, char mnemonic, KeyStroke k, ActionListener al) {
 28       final JMenuItem x = new JMenuItem (label);
 29       x.setMnemonic (mnemonic);
 30       //iiiinc
 31       x.setToolTipText (label);  // ??
 32       x.setAccelerator (k);      // could be null
 33       x.addActionListener (al);  // could be null
 34       return x;
 35    }
 36 
 37    public static JCheckBoxMenuItem createCheckBox (String label, char mnemonic, char k, ActionListener al) {
 38       return createCheckBox (label, mnemonic, KeyStroke.getKeyStroke (k, Event.CTRL_MASK), al);
 39    }
 40 
 41    public static JCheckBoxMenuItem createCheckBox (String label, char mnemonic, KeyStroke k, ActionListener al) {
 42       final JCheckBoxMenuItem x = new JCheckBoxMenuItem (label);
 43       x.setMnemonic (mnemonic);
 44       x.setAccelerator (k);      // could be null
 45       x.addActionListener (al);  // could be null
 46       return x;
 47    }
 48 
 49 }