< prev index next >
src/java.desktop/share/classes/javax/swing/KeyStroke.java
Print this page
@@ -24,10 +24,11 @@
*/
package javax.swing;
import java.awt.AWTKeyStroke;
import java.awt.event.KeyEvent;
+import sun.swing.SwingAccessor;
/**
* A KeyStroke represents a key action on the keyboard, or equivalent input
* device. KeyStrokes can correspond to only a press or release of a particular
* key, just as KEY_PRESSED and KEY_RELEASED KeyEvents do; alternately, they
@@ -68,10 +69,20 @@
/**
* Serial Version ID.
*/
private static final long serialVersionUID = -9060180771037902530L;
+ static {
+ SwingAccessor.setKeyStrokeAccessor(new SwingAccessor.KeyStrokeAccessor() {
+
+ @Override
+ public KeyStroke create() {
+ return new KeyStroke();
+ }
+ });
+ }
+
private KeyStroke() {
}
private KeyStroke(char keyChar, int keyCode, int modifiers,
boolean onKeyRelease) {
super(keyChar, keyCode, modifiers, onKeyRelease);
@@ -85,11 +96,10 @@
* @param keyChar the character value for a keyboard key
* @return a KeyStroke object for that key
*/
public static KeyStroke getKeyStroke(char keyChar) {
synchronized (AWTKeyStroke.class) {
- registerSubclass(KeyStroke.class);
return (KeyStroke)getAWTKeyStroke(keyChar);
}
}
/**
@@ -146,11 +156,10 @@
* @see java.awt.event.InputEvent
* @since 1.3
*/
public static KeyStroke getKeyStroke(Character keyChar, int modifiers) {
synchronized (AWTKeyStroke.class) {
- registerSubclass(KeyStroke.class);
return (KeyStroke)getAWTKeyStroke(keyChar, modifiers);
}
}
/**
@@ -197,11 +206,10 @@
* @see java.awt.event.InputEvent
*/
public static KeyStroke getKeyStroke(int keyCode, int modifiers,
boolean onKeyRelease) {
synchronized (AWTKeyStroke.class) {
- registerSubclass(KeyStroke.class);
return (KeyStroke)getAWTKeyStroke(keyCode, modifiers,
onKeyRelease);
}
}
@@ -245,11 +253,10 @@
* @see java.awt.event.KeyEvent
* @see java.awt.event.InputEvent
*/
public static KeyStroke getKeyStroke(int keyCode, int modifiers) {
synchronized (AWTKeyStroke.class) {
- registerSubclass(KeyStroke.class);
return (KeyStroke)getAWTKeyStroke(keyCode, modifiers);
}
}
/**
@@ -264,11 +271,10 @@
* @throws NullPointerException if <code>anEvent</code> is null
* @return the KeyStroke that precipitated the event
*/
public static KeyStroke getKeyStrokeForEvent(KeyEvent anEvent) {
synchronized (AWTKeyStroke.class) {
- registerSubclass(KeyStroke.class);
return (KeyStroke)getAWTKeyStrokeForEvent(anEvent);
}
}
/**
@@ -305,11 +311,10 @@
public static KeyStroke getKeyStroke(String s) {
if (s == null || s.length() == 0) {
return null;
}
synchronized (AWTKeyStroke.class) {
- registerSubclass(KeyStroke.class);
try {
return (KeyStroke)getAWTKeyStroke(s);
} catch (IllegalArgumentException e) {
return null;
}
< prev index next >