JAL-3130 Helper classes to take Class Exceptions when run in java 1.8 JRE out of...
[jalview.git] / src / jalview / util / ShortcutKeyMaskExWrapper.java
diff --git a/src/jalview/util/ShortcutKeyMaskExWrapper.java b/src/jalview/util/ShortcutKeyMaskExWrapper.java
new file mode 100644 (file)
index 0000000..7292c80
--- /dev/null
@@ -0,0 +1,57 @@
+package jalview.util;
+
+import java.awt.Toolkit;
+import java.awt.event.KeyEvent;
+
+public class ShortcutKeyMaskExWrapper
+{
+
+  private static boolean init = false;
+
+  private static final Float specversion = Float
+          .parseFloat(System.getProperty("java.specification.version"));
+
+  private static final float modern = 11;
+
+  public static int SHIFT_DOWN_MASK = KeyEvent.SHIFT_DOWN_MASK;
+
+  public static int ALT_DOWN_MASK = KeyEvent.ALT_DOWN_MASK;
+
+  public ShortcutKeyMaskExWrapper()
+  {
+  }
+
+  private static void init()
+  {
+    if (init)
+    {
+      return;
+    }
+    if (specversion < modern)
+    {
+      SHIFT_DOWN_MASK = KeyEvent.SHIFT_MASK;
+      ALT_DOWN_MASK = KeyEvent.ALT_MASK;
+    }
+    else
+    {
+      SHIFT_DOWN_MASK = KeyEvent.SHIFT_DOWN_MASK;
+      ALT_DOWN_MASK = KeyEvent.ALT_DOWN_MASK;
+    }
+
+    init = true;
+  }
+
+  public static int getMenuShortcutKeyMaskEx()
+  {
+    init();
+    if (specversion < modern)
+    {
+      return Toolkit.getDefaultToolkit().getMenuShortcutKeyMask();
+    }
+    else
+    {
+      return Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx();
+    }
+  }
+
+}