3 import java.awt.Toolkit;
4 import java.awt.event.MouseEvent;
7 * retrieve KeyEvent masks for Java 8 or Java 11+
12 public class ShortcutKeyMaskExWrapper
14 public static final int SHIFT_DOWN_MASK;
16 public static final int ALT_DOWN_MASK;
18 public static final int SHORTCUT_MASK;
22 float specversion = Platform.getJavaVersion();
24 // BH technically, these are not masks; they are bits.
25 if (specversion >= 11)
27 SHIFT_DOWN_MASK = 0x040; // KeyEvent.SHIFT_DOWN_MASK;
28 ALT_DOWN_MASK = 0x200; // KeyEvent.ALT_DOWN_MASK;
29 method = "getMenuShortcutKeyMaskEx";
33 SHIFT_DOWN_MASK = 0x01; // KeyEvent.SHIFT_MASK;
34 ALT_DOWN_MASK = 0x08; // KeyEvent.ALT_MASK;
35 method = "getMenuShortcutKeyMask";
41 // Just use reflection -- doesn't matter what version is running.
42 Toolkit tk = Toolkit.getDefaultToolkit();
43 mask = (int) (tk.getClass().getMethod(method, new Class<?>[0])
44 .invoke(tk, new Object[0]));
47 System.out.println("Shortcut exception: " + e);
53 // BH Q: Why not just use the public static field?
54 public static int getMenuShortcutKeyMaskEx()
59 // BH Q: Why is this here?
60 public static int getModifiersEx(MouseEvent e)
62 return e.getModifiersEx();