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
31 x.setToolTipText (label);
32 x.setAccelerator (k);
33 x.addActionListener (al);
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);
45 x.addActionListener (al);
46 return x;
47 }
48
49 }