import java.awt.Component;
import java.awt.Dimension;
+import java.awt.GraphicsEnvironment;
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
private static Boolean isNoJSMac = null, isNoJSWin = null, isMac = null,
isWin = null;
- private static Boolean isHeadless = null;
-
private static swingjs.api.JSUtilI jsutil;
static
}
}
}
- // private static Boolean isHeadless = null;
/**
* added to group mouse events into Windows and nonWindows (mac, unix, linux)
static
{
- // Using non-deprecated Extended key mask modifiers, but Java 8 has no
- // getMenuShortcutKeyMaskEx method
- Toolkit tk = Toolkit.getDefaultToolkit();
- Method method = null;
- try
- {
- method = tk.getClass().getMethod("getMenuShortcutKeyMaskEx");
- } catch (NoSuchMethodException e)
- {
- System.err.println(
- "Could not find Toolkit method getMenuShortcutKeyMaskEx. Trying getMenuShortcutKeyMask.");
- }
- if (method == null)
+ if (!GraphicsEnvironment.isHeadless())
{
+ // Using non-deprecated Extended key mask modifiers, but Java 8 has no
+ // getMenuShortcutKeyMaskEx method
+ Toolkit tk = Toolkit.getDefaultToolkit();
+ Method method = null;
try
{
- method = tk.getClass().getMethod("getMenuShortcutKeyMask");
- } catch (NoSuchMethodException e)
+ method = tk.getClass().getMethod("getMenuShortcutKeyMaskEx");
+ } catch (Exception e)
{
System.err.println(
- "Could not find Toolkit method getMenuShortcutKeyMaskEx or getMenuShortcutKeyMask.");
- e.printStackTrace();
+ "Could not find Toolkit method getMenuShortcutKeyMaskEx. Trying getMenuShortcutKeyMask.");
}
- }
- if (method != null)
- {
- try
+ if (method == null)
{
- method.setAccessible(true);
- SHORTCUT_KEY_MASK = ((int) method.invoke(tk, new Object[0]));
- } catch (Exception e)
+ try
+ {
+ method = tk.getClass().getMethod("getMenuShortcutKeyMask");
+ } catch (Exception e)
+ {
+ System.err.println(
+ "Could not find Toolkit method getMenuShortcutKeyMaskEx or getMenuShortcutKeyMask.");
+ e.printStackTrace();
+ }
+ }
+ if (method != null)
{
- e.printStackTrace();
+ try
+ {
+ method.setAccessible(true);
+ SHORTCUT_KEY_MASK = ((int) method.invoke(tk, new Object[0]));
+ } catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+ if (SHORTCUT_KEY_MASK <= 0xF)
+ {
+ // shift this into the extended region (was Java 8)
+ SHORTCUT_KEY_MASK = SHORTCUT_KEY_MASK << 6;
}
- }
- if (SHORTCUT_KEY_MASK <= 0xF)
- {
- // shift this into the extended region (was Java 8)
- SHORTCUT_KEY_MASK = SHORTCUT_KEY_MASK << 6;
}
}
-
/**
* added to group mouse events into Windows and nonWindows (mac, unix, linux)
*
return (isNoJSWin == null ? (isNoJSWin = !isJS && isWin()) : isNoJSWin);
}
- /**
- *
- * @return true if we are running in non-interactive no UI mode
- */
- public static boolean isHeadless()
- {
- if (isHeadless == null)
- {
- isHeadless = "true".equals(System.getProperty("java.awt.headless"));
- }
- return isHeadless;
- }
/**
*