Methods Summary |
---|
private static int | addMask(int mod, int mask)Adds the mask.
return ((mod & mask) != 0) ? (mod | mask) : mod;
|
public final boolean | equals(java.lang.Object anObject)Compares this AWTKeyStroke object to the specified object.
if (anObject instanceof AWTKeyStroke) {
AWTKeyStroke key = (AWTKeyStroke)anObject;
return ((key.keyCode == keyCode) && (key.keyChar == keyChar)
&& (key.modifiers == modifiers) && (key.onKeyRelease == onKeyRelease));
}
return false;
|
private static java.awt.AWTKeyStroke | getAWTKeyStroke(char keyChar, int keyCode, int modifiers, boolean onKeyRelease)Gets the AWT key stroke.
AWTKeyStroke key = newInstance(keyChar, keyCode, modifiers, onKeyRelease);
AWTKeyStroke value = cache.get(key);
if (value == null) {
value = key;
cache.put(key, value);
}
return value;
|
public static java.awt.AWTKeyStroke | getAWTKeyStroke(java.lang.String s)Returns an instance of AWTKeyStroke for parsed string. The string must
have the following syntax:
<modifiers>* (<typedID> | <pressedReleasedID>)
modifiers := shift | control | ctrl | meta | alt | altGraph
typedID := typed
typedKey := string of length 1 giving the Unicode character.
pressedReleasedID := (pressed | released)
key := KeyEvent key code name, i.e. the name following "VK_".
if (s == null) {
// awt.65=null argument
throw new IllegalArgumentException(Messages.getString("awt.65")); //$NON-NLS-1$
}
StringTokenizer tokenizer = new StringTokenizer(s);
Boolean release = null;
int modifiers = 0;
int keyCode = KeyEvent.VK_UNDEFINED;
char keyChar = KeyEvent.CHAR_UNDEFINED;
boolean typed = false;
long modifier = 0;
String token = null;
do {
token = getNextToken(tokenizer);
modifier = parseModifier(token);
modifiers |= modifier;
} while (modifier > 0);
typed = parseTypedID(token);
if (typed) {
token = getNextToken(tokenizer);
keyChar = parseTypedKey(token);
}
if (keyChar == KeyEvent.CHAR_UNDEFINED) {
release = parsePressedReleasedID(token);
if (release != null) {
token = getNextToken(tokenizer);
}
keyCode = parseKey(token);
}
if (tokenizer.hasMoreTokens()) {
// awt.66=Invalid format
throw new IllegalArgumentException(Messages.getString("awt.66")); //$NON-NLS-1$
}
return getAWTKeyStroke(keyChar, keyCode, modifiers, release == Boolean.TRUE);
|
public static java.awt.AWTKeyStroke | getAWTKeyStroke(char keyChar)Gets an instance of the AWTKeyStroke for specified character.
return getAWTKeyStroke(keyChar, KeyEvent.VK_UNDEFINED, 0, false);
|
public static java.awt.AWTKeyStroke | getAWTKeyStroke(int keyCode, int modifiers, boolean onKeyRelease)Returns an instance of AWTKeyStroke for a given key code, set of
modifiers, and specified key released flag value. The key codes are
defined in java.awt.event.KeyEvent class. The set of modifiers is given
as a bitwise combination of masks taken from the following list:
- java.awt.event.InputEvent.ALT_GRAPH_DOWN_MASK
-
java.awt.event.InputEvent.ALT_DOWN_MASK
-
java.awt.event.InputEvent.CTRL_DOWN_MASK
-
java.awt.event.InputEvent.META_DOWN_MASK
-
java.awt.event.InputEvent.SHIFT_DOWN_MASK
-
java.awt.event.InputEvent.ALT_GRAPH_MASK
-
java.awt.event.InputEvent.ALT_MASK
-
java.awt.event.InputEvent.CTRL_MASK
-
java.awt.event.InputEvent.META_MASK
-
java.awt.event.InputEvent.SHIFT_MASK
return getAWTKeyStroke(KeyEvent.CHAR_UNDEFINED, keyCode, modifiers, onKeyRelease);
|
public static java.awt.AWTKeyStroke | getAWTKeyStroke(java.lang.Character keyChar, int modifiers)Returns AWTKeyStroke for a specified character and set of modifiers. The
set of modifiers is given as a bitwise combination of masks taken from
the following list:
- java.awt.event.InputEvent.ALT_GRAPH_DOWN_MASK
-
java.awt.event.InputEvent.ALT_DOWN_MASK
-
java.awt.event.InputEvent.CTRL_DOWN_MASK
-
java.awt.event.InputEvent.META_DOWN_MASK
-
java.awt.event.InputEvent.SHIFT_DOWN_MASK
-
java.awt.event.InputEvent.ALT_GRAPH_MASK
-
java.awt.event.InputEvent.ALT_MASK
-
java.awt.event.InputEvent.CTRL_MASK
-
java.awt.event.InputEvent.META_MASK
-
java.awt.event.InputEvent.SHIFT_MASK
if (keyChar == null) {
// awt.01='{0}' parameter is null
throw new IllegalArgumentException(Messages.getString("awt.01", "keyChar")); //$NON-NLS-1$ //$NON-NLS-2$
}
return getAWTKeyStroke(keyChar.charValue(), KeyEvent.VK_UNDEFINED, modifiers, false);
|
public static java.awt.AWTKeyStroke | getAWTKeyStroke(int keyCode, int modifiers)Returns an instance of AWTKeyStroke for a specified key code and set of
modifiers. The key codes are defined in java.awt.event.KeyEvent class.
The set of modifiers is given as a bitwise combination of masks taken
from the following list:
- java.awt.event.InputEvent.ALT_GRAPH_DOWN_MASK
-
java.awt.event.InputEvent.ALT_DOWN_MASK
-
java.awt.event.InputEvent.CTRL_DOWN_MASK
-
java.awt.event.InputEvent.META_DOWN_MASK
-
java.awt.event.InputEvent.SHIFT_DOWN_MASK
-
java.awt.event.InputEvent.ALT_GRAPH_MASK
-
java.awt.event.InputEvent.ALT_MASK
-
java.awt.event.InputEvent.CTRL_MASK
-
java.awt.event.InputEvent.META_MASK
-
java.awt.event.InputEvent.SHIFT_MASK
return getAWTKeyStroke(keyCode, modifiers, false);
|
public static java.awt.AWTKeyStroke | getAWTKeyStrokeForEvent(java.awt.event.KeyEvent anEvent)Gets the AWTKeyStroke for a key event. This method obtains the key char
and key code from the specified key event.
int id = anEvent.getID();
char undef = KeyEvent.CHAR_UNDEFINED;
char keyChar = (id == KeyEvent.KEY_TYPED ? anEvent.getKeyChar() : undef);
int keyCode = (keyChar == undef ? anEvent.getKeyCode() : KeyEvent.VK_UNDEFINED);
return getAWTKeyStroke(keyChar, keyCode, anEvent.getModifiersEx(),
id == KeyEvent.KEY_RELEASED);
|
static int | getAllModifiers(int mod)Return all (old & new) modifiers corresponding to.
int allMod = mod;
int shift = (InputEvent.SHIFT_MASK | InputEvent.SHIFT_DOWN_MASK);
int ctrl = (InputEvent.CTRL_MASK | InputEvent.CTRL_DOWN_MASK);
int meta = (InputEvent.META_MASK | InputEvent.META_DOWN_MASK);
int alt = (InputEvent.ALT_MASK | InputEvent.ALT_DOWN_MASK);
int altGr = (InputEvent.ALT_GRAPH_MASK | InputEvent.ALT_GRAPH_DOWN_MASK);
// button modifiers are not converted between old & new
allMod = addMask(allMod, shift);
allMod = addMask(allMod, ctrl);
allMod = addMask(allMod, meta);
allMod = addMask(allMod, alt);
allMod = addMask(allMod, altGr);
return allMod;
|
public final char | getKeyChar()Gets the key character for the AWTKeyStroke object.
return keyChar;
|
static int | getKeyCode(java.lang.String s)Gets the key code.
try {
Field vk = KeyEvent.class.getField("VK_" + s); //$NON-NLS-1$
return vk.getInt(null);
} catch (Exception e) {
if (s.length() != 1) {
// awt.66=Invalid format
throw new IllegalArgumentException(Messages.getString("awt.66")); //$NON-NLS-1$
}
return KeyEvent.VK_UNDEFINED;
}
|
public final int | getKeyCode()Gets the key code for the AWTKeyStroke object.
return keyCode;
|
public final int | getKeyEventType()Gets the key event type for the AWTKeyStroke object.
if (keyCode == KeyEvent.VK_UNDEFINED) {
return KeyEvent.KEY_TYPED;
}
return (onKeyRelease ? KeyEvent.KEY_RELEASED : KeyEvent.KEY_PRESSED);
|
public final int | getModifiers()Gets the set of modifiers for the AWTKeyStroke object.
return modifiers;
|
private static java.lang.String | getNextToken(java.util.StringTokenizer tokenizer)Gets the next token.
try {
return tokenizer.nextToken();
} catch (NoSuchElementException exception) {
// awt.66=Invalid format
throw new IllegalArgumentException(Messages.getString("awt.66")); //$NON-NLS-1$
}
|
public int | hashCode()Returns the unique number value for AWTKeyStroke object.
return modifiers + (keyCode != KeyEvent.VK_UNDEFINED ? keyCode : keyChar)
+ (onKeyRelease ? -1 : 0);
|
public final boolean | isOnKeyRelease()Returns true if the key event is associated with the AWTKeyStroke is
KEY_RELEASED, false otherwise.
return onKeyRelease;
|
private static java.awt.AWTKeyStroke | newInstance(char keyChar, int keyCode, int modifiers, boolean onKeyRelease)New instance.
AWTKeyStroke key;
// ???AWT
// if (subConstructor == null) {
key = new AWTKeyStroke();
// ???AWT
// } else {
// try {
// key = (AWTKeyStroke) subConstructor.newInstance();
// } catch (Exception e) {
// throw new RuntimeException(e);
// }
// }
int allModifiers = getAllModifiers(modifiers);
key.setAWTKeyStroke(keyChar, keyCode, allModifiers, onKeyRelease);
return key;
|
private static int | parseKey(java.lang.String strCode)Parses the key.
int keyCode = KeyEvent.VK_UNDEFINED;
keyCode = getKeyCode(strCode);
if (keyCode == KeyEvent.VK_UNDEFINED) {
// awt.66=Invalid format
throw new IllegalArgumentException(Messages.getString("awt.66")); //$NON-NLS-1$
}
return keyCode;
|
private static long | parseModifier(java.lang.String strMod)Parses the modifier.
long modifiers = 0l;
if (strMod.equals("shift")) { //$NON-NLS-1$
modifiers |= InputEvent.SHIFT_DOWN_MASK;
} else if (strMod.equals("control") || strMod.equals("ctrl")) { //$NON-NLS-1$ //$NON-NLS-2$
modifiers |= InputEvent.CTRL_DOWN_MASK;
} else if (strMod.equals("meta")) { //$NON-NLS-1$
modifiers |= InputEvent.META_DOWN_MASK;
} else if (strMod.equals("alt")) { //$NON-NLS-1$
modifiers |= InputEvent.ALT_DOWN_MASK;
} else if (strMod.equals("altGraph")) { //$NON-NLS-1$
modifiers |= InputEvent.ALT_GRAPH_DOWN_MASK;
} else if (strMod.equals("button1")) { //$NON-NLS-1$
modifiers |= InputEvent.BUTTON1_DOWN_MASK;
} else if (strMod.equals("button2")) { //$NON-NLS-1$
modifiers |= InputEvent.BUTTON2_DOWN_MASK;
} else if (strMod.equals("button3")) { //$NON-NLS-1$
modifiers |= InputEvent.BUTTON3_DOWN_MASK;
}
return modifiers;
|
private static java.lang.Boolean | parsePressedReleasedID(java.lang.String str)Parses the pressed released id.
if (str.equals("pressed")) { //$NON-NLS-1$
return Boolean.FALSE;
} else if (str.equals("released")) { //$NON-NLS-1$
return Boolean.TRUE;
}
return null;
|
private static boolean | parseTypedID(java.lang.String strTyped)Parses the typed id.
if (strTyped.equals("typed")) { //$NON-NLS-1$
return true;
}
return false;
|
private static char | parseTypedKey(java.lang.String strChar)Parses the typed key.
char keyChar = KeyEvent.CHAR_UNDEFINED;
if (strChar.length() != 1) {
// awt.66=Invalid format
throw new IllegalArgumentException(Messages.getString("awt.66")); //$NON-NLS-1$
}
keyChar = strChar.charAt(0);
return keyChar;
|
protected java.lang.Object | readResolve()Read resolve.
return getAWTKeyStroke(this.keyChar, this.keyCode, this.modifiers, this.onKeyRelease);
|
protected static void | registerSubclass(java.lang.Class subclass)Register subclass.
// ???AWT
/*
* if (subclass == null) { // awt.01='{0}' parameter is null throw new
* IllegalArgumentException(Messages.getString("awt.01", "subclass"));
* //$NON-NLS-1$ //$NON-NLS-2$ } if (!
* AWTKeyStroke.class.isAssignableFrom(subclass)) { // awt.67=subclass
* is not derived from AWTKeyStroke throw new
* ClassCastException(Messages.getString("awt.67")); //$NON-NLS-1$ } try
* { subConstructor = subclass.getDeclaredConstructor();
* subConstructor.setAccessible(true); } catch (SecurityException e) {
* throw new RuntimeException(e); } catch (NoSuchMethodException e) { //
* awt.68=subclass could not be instantiated throw new
* IllegalArgumentException(Messages.getString("awt.68")); //$NON-NLS-1$
* } cache.clear(); //flush the cache
*/
|
private void | setAWTKeyStroke(char keyChar, int keyCode, int modifiers, boolean onKeyRelease)Sets the AWT key stroke.
this.keyChar = keyChar;
this.keyCode = keyCode;
this.modifiers = modifiers;
this.onKeyRelease = onKeyRelease;
|
public java.lang.String | toString()Returns the string representation of the AWTKeyStroke. This string should
contain key stroke properties.
int type = getKeyEventType();
return InputEvent.getModifiersExText(getModifiers()) + " " + //$NON-NLS-1$
keyEventTypesMap.get(new Integer(type)) + " " + //$NON-NLS-1$
(type == KeyEvent.KEY_TYPED ? new String(new char[] {
keyChar
}) : KeyEvent.getKeyText(keyCode));
|