37 |
|
|
38 |
package javax.swing; |
package javax.swing; |
39 |
|
|
40 |
|
import java.awt.AWTKeyStroke; |
41 |
import java.awt.event.KeyEvent; |
import java.awt.event.KeyEvent; |
42 |
import java.io.Serializable; |
import java.io.Serializable; |
43 |
|
|
44 |
/** |
public class KeyStroke |
45 |
* KeyStroke |
extends AWTKeyStroke |
46 |
* @author Andrew Selkirk |
implements Serializable |
|
* @version 1.0 |
|
|
*/ |
|
|
public class KeyStroke implements Serializable |
|
47 |
{ |
{ |
48 |
static final long serialVersionUID = -9060180771037902530L; |
static final long serialVersionUID = -9060180771037902530L; |
|
|
|
|
//------------------------------------------------------------- |
|
|
// Variables -------------------------------------------------- |
|
|
//------------------------------------------------------------- |
|
|
|
|
|
/** |
|
|
* keyChar |
|
|
*/ |
|
|
private char keyChar = 0; |
|
|
|
|
|
/** |
|
|
* keyCode |
|
|
*/ |
|
|
private int keyCode = 0; |
|
|
|
|
|
/** |
|
|
* modifiers |
|
|
*/ |
|
|
private int modifiers = 0; |
|
|
|
|
|
/** |
|
|
* onKeyRelease |
|
|
*/ |
|
|
private boolean onKeyRelease = false; |
|
|
|
|
|
|
|
|
//------------------------------------------------------------- |
|
|
// Initialization --------------------------------------------- |
|
|
//------------------------------------------------------------- |
|
|
|
|
|
/** |
|
|
* Constructor KeyStroke |
|
|
*/ |
|
49 |
private KeyStroke() { |
private KeyStroke() { |
50 |
} // KeyStroke() |
} |
|
|
|
|
|
|
|
//------------------------------------------------------------- |
|
|
// Methods ---------------------------------------------------- |
|
|
//------------------------------------------------------------- |
|
|
|
|
|
/** |
|
|
* hashCode |
|
|
* @returns int |
|
|
*/ |
|
|
public int hashCode() { |
|
|
return 0; // TODO |
|
|
} // hashCode() |
|
|
|
|
|
/** |
|
|
* equals |
|
|
* @param object TODO |
|
|
* @returns boolean |
|
|
*/ |
|
|
public boolean equals(Object object) { |
|
|
|
|
|
// Variables |
|
|
KeyStroke key; |
|
|
|
|
|
if (object instanceof KeyStroke) { |
|
|
key = (KeyStroke) object; |
|
|
if (key.keyChar == keyChar && |
|
|
key.keyCode == keyCode && |
|
|
key.modifiers == modifiers && |
|
|
key.onKeyRelease == onKeyRelease) { |
|
|
return true; |
|
|
} // if |
|
|
} // if |
|
|
return false; |
|
|
|
|
|
} // equals() |
|
|
|
|
|
/** |
|
|
* toString |
|
|
* @returns String |
|
|
*/ |
|
|
public String toString() { |
|
|
return null; // TODO |
|
|
} // toString() |
|
|
|
|
|
/** |
|
|
* getKeyStroke |
|
|
* @param keyChar TODO |
|
|
* @returns KeyStroke |
|
|
*/ |
|
|
public static KeyStroke getKeyStroke(char keyChar) { |
|
|
|
|
|
// Variables |
|
|
KeyStroke key; |
|
51 |
|
|
52 |
key = new KeyStroke(); |
protected KeyStroke(char keyChar, int keyCode, int modifiers, |
53 |
key.keyChar = keyChar; |
boolean onKeyRelease) |
54 |
return key; |
{ |
55 |
|
super(keyChar, keyCode, modifiers, onKeyRelease); |
56 |
|
} |
57 |
|
|
58 |
|
static |
59 |
|
{ |
60 |
|
AWTKeyStroke.registerSubclass(KeyStroke.class); |
61 |
|
} |
62 |
|
|
63 |
|
public static KeyStroke getKeyStroke(char keyChar) |
64 |
|
{ |
65 |
|
return (KeyStroke) getAWTKeyStroke(keyChar); |
66 |
|
} |
67 |
|
|
68 |
|
/** |
69 |
|
* @deprecated Use {@link #getKeyStroke(char)} |
70 |
|
* |
71 |
|
* This method, unlike all the other factory methods on this object, |
72 |
|
* returns a non-cached, non-shared object. New code should not use it. |
73 |
|
*/ |
74 |
|
public static KeyStroke getKeyStroke(char keyChar, boolean onKeyRelease) |
75 |
|
{ |
76 |
|
return new KeyStroke(keyChar, KeyEvent.VK_UNDEFINED, 0, onKeyRelease); |
77 |
|
} |
78 |
|
|
79 |
|
public static KeyStroke getKeyStroke(Character keyChar, int modifiers) |
80 |
|
{ |
81 |
|
return (KeyStroke) getAWTKeyStroke(keyChar, modifiers); |
82 |
|
} |
83 |
|
|
|
} // getKeyStroke() |
|
|
|
|
|
/** |
|
|
* getKeyStroke - deprecated |
|
|
* @param keyChar TODO |
|
|
* @param onKeyRelease TODO |
|
|
* @returns KeyStroke |
|
|
* @deprecated Use getKeyStroke(char) |
|
|
*/ |
|
|
public static KeyStroke getKeyStroke(char keyChar, boolean onKeyRelease) { |
|
|
KeyStroke key = getKeyStroke(keyChar); |
|
|
key.onKeyRelease = onKeyRelease; |
|
|
return key; |
|
|
} // getKeyStroke() |
|
|
|
|
|
/** |
|
|
* getKeyStroke |
|
|
* @param keyChar TODO |
|
|
* @param modifiers TODO |
|
|
* @returns KeyStroke |
|
|
*/ |
|
|
public static KeyStroke getKeyStroke(Character keyChar, int modifiers) { |
|
|
KeyStroke key = getKeyStroke(keyChar.charValue()); |
|
|
key.modifiers = modifiers; |
|
|
return key; |
|
|
} // getKeyStroke() |
|
|
|
|
|
/** |
|
|
* getKeyStroke |
|
|
* @param keyCode TODO |
|
|
* @param modifiers TODO |
|
|
* @param onKeyRelease TODO |
|
|
* @returns KeyStroke |
|
|
*/ |
|
84 |
public static KeyStroke getKeyStroke(int keyCode, int modifiers, |
public static KeyStroke getKeyStroke(int keyCode, int modifiers, |
85 |
boolean onKeyRelease) { |
boolean onKeyRelease) |
86 |
|
{ |
87 |
// Variables |
return (KeyStroke) getAWTKeyStroke(keyCode, modifiers, onKeyRelease); |
88 |
KeyStroke key; |
} |
89 |
|
|
90 |
key = new KeyStroke(); |
public static KeyStroke getKeyStroke(int keyCode, int modifiers) |
91 |
key.keyCode = keyCode; |
{ |
92 |
key.modifiers = modifiers; |
return (KeyStroke) getAWTKeyStroke(keyCode, modifiers); |
93 |
key.onKeyRelease = onKeyRelease; |
} |
94 |
return key; |
|
95 |
|
public static KeyStroke getKeyStroke(String str) |
96 |
} // getKeyStroke() |
{ |
97 |
|
return (KeyStroke) getAWTKeyStroke(str); |
98 |
/** |
} |
99 |
* getKeyStroke |
|
100 |
* @param keyCode TODO |
public static KeyStroke getKeyStrokeForEvent(KeyEvent event) |
101 |
* @param modifiers TODO |
{ |
102 |
* @returns KeyStroke |
return (KeyStroke) getAWTKeyStrokeForEvent(event); |
103 |
*/ |
} |
|
public static KeyStroke getKeyStroke(int keyCode, int modifiers) { |
|
|
return getKeyStroke(keyCode, modifiers, false); |
|
|
} // getKeyStroke() |
|
|
|
|
|
/** |
|
|
* getKeyStroke |
|
|
* @param string TODO |
|
|
* @returns KeyStroke |
|
|
*/ |
|
|
public static KeyStroke getKeyStroke(String string) { |
|
|
return null; // TODO |
|
|
} // getKeyStroke() |
|
|
|
|
|
/** |
|
|
* getKeyStrokeForEvent |
|
|
* @param event TODO |
|
|
* @returns KeyStroke |
|
|
*/ |
|
|
public static KeyStroke getKeyStrokeForEvent(KeyEvent event) { |
|
|
|
|
|
// Variables |
|
|
int eventID; |
|
|
int eventMod; |
|
|
|
|
|
// Get Event ID |
|
|
eventID = event.getID(); |
|
|
eventMod = event.getModifiersEx(); |
|
|
|
|
|
// Check for KEY_TYPED event |
|
|
if (eventID == KeyEvent.KEY_TYPED) { |
|
|
return getKeyStroke(event.getKeyChar(), eventMod); |
|
|
|
|
|
// KEY_PRESSED or KEY_RELEASED event |
|
|
} else { |
|
|
return getKeyStroke(event.getKeyCode(), eventMod); |
|
|
} // if |
|
|
|
|
|
} // getKeyStrokeForEvent() |
|
|
|
|
|
/** |
|
|
* getKeyChar |
|
|
* @returns char |
|
|
*/ |
|
|
public char getKeyChar() { |
|
|
return keyChar; |
|
|
} // getKeyChar() |
|
|
|
|
|
/** |
|
|
* getKeyCode |
|
|
* @returns int |
|
|
*/ |
|
|
public int getKeyCode() { |
|
|
return keyCode; |
|
|
} // getKeyCode() |
|
|
|
|
|
/** |
|
|
* getModifiers |
|
|
* @returns int |
|
|
*/ |
|
|
public int getModifiers() { |
|
|
return modifiers; // TODO |
|
|
} // getModifiers() |
|
|
|
|
|
/** |
|
|
* isOnKeyRelease |
|
|
* @returns boolean |
|
|
*/ |
|
|
public boolean isOnKeyRelease() { |
|
|
return onKeyRelease; |
|
|
} // isOnKeyRelease() |
|
|
|
|
104 |
|
|
105 |
} // KeyStroke |
} |