home *** CD-ROM | disk | FTP | other *** search
- package javax.swing;
-
- import java.awt.AWTEvent;
- import java.awt.event.InputEvent;
- import java.awt.event.KeyEvent;
- import java.io.Serializable;
-
- public class KeyStroke implements Serializable {
- private static final Object pressedCharCacheKey = new StringBuffer("KeyStroke.pressedCharCacheKey");
- private static final Object releasedCharCacheKey = new StringBuffer("KeyStroke.releasedCharCacheKey");
- private static final Object pressedCodeCacheKey = new StringBuffer("KeyStroke.pressedCodeCacheKey");
- private static final Object releasedCodeCacheKey = new StringBuffer("KeyStroke.releasedCodeCacheKey");
- char keyChar;
- int keyCode;
- int modifiers;
- boolean onKeyRelease;
- static final int MIN_ASCII_CACHE_INDEX = 10;
- static final int MAX_ASCII_CACHE_INDEX = 127;
- // $FF: synthetic field
- static Class class$javax$swing$KeyStroke;
-
- private KeyStroke() {
- }
-
- static void cacheKeyCharKeyStroke(KeyStroke var0, boolean var1) {
- if (var0.keyChar >= '\n' && var0.keyChar < 127) {
- Class var2 = class$javax$swing$KeyStroke != null ? class$javax$swing$KeyStroke : (class$javax$swing$KeyStroke = class$("javax.swing.KeyStroke"));
- synchronized(var2){}
-
- try {
- if (var1) {
- KeyStroke[] var4 = (KeyStroke[])SwingUtilities.appContextGet(releasedCharCacheKey);
- if (var4 == null) {
- var4 = new KeyStroke[117];
- SwingUtilities.appContextPut(releasedCharCacheKey, var4);
- }
-
- var4[var0.keyChar - 10] = var0;
- } else {
- KeyStroke[] var7 = (KeyStroke[])SwingUtilities.appContextGet(pressedCharCacheKey);
- if (var7 == null) {
- var7 = new KeyStroke[117];
- SwingUtilities.appContextPut(pressedCharCacheKey, var7);
- }
-
- var7[var0.keyChar - 10] = var0;
- }
- } catch (Throwable var6) {
- throw var6;
- }
- }
-
- }
-
- static void cacheKeyStroke(KeyStroke var0) {
- int var1 = -1;
- if (var0.keyCode >= 10 && var0.keyCode < 127 && (var1 = subIndexForModifier(var0.modifiers)) != -1) {
- Class var2 = class$javax$swing$KeyStroke != null ? class$javax$swing$KeyStroke : (class$javax$swing$KeyStroke = class$("javax.swing.KeyStroke"));
- synchronized(var2){}
-
- try {
- Object var4 = null;
- KeyStroke[][] var9;
- if (var0.onKeyRelease) {
- KeyStroke[][] var5 = (KeyStroke[][])SwingUtilities.appContextGet(pressedCodeCacheKey);
- if (var5 == null) {
- var5 = new KeyStroke[4][117];
- SwingUtilities.appContextPut(pressedCodeCacheKey, var5);
- }
-
- var9 = var5;
- } else {
- KeyStroke[][] var10 = (KeyStroke[][])SwingUtilities.appContextGet(releasedCodeCacheKey);
- if (var10 == null) {
- var10 = new KeyStroke[4][117];
- SwingUtilities.appContextPut(releasedCodeCacheKey, var10);
- }
-
- var9 = var10;
- }
-
- var9[var1][var0.keyCode - 10] = var0;
- } catch (Throwable var7) {
- throw var7;
- }
- }
-
- }
-
- // $FF: synthetic method
- static Class class$(String var0) {
- try {
- return Class.forName(var0);
- } catch (ClassNotFoundException var2) {
- throw new NoClassDefFoundError(((Throwable)var2).getMessage());
- }
- }
-
- public boolean equals(Object var1) {
- if (var1 instanceof KeyStroke) {
- KeyStroke var2 = (KeyStroke)var1;
- if (var2.keyChar == this.keyChar && var2.keyCode == this.keyCode && var2.onKeyRelease == this.onKeyRelease && var2.modifiers == this.modifiers) {
- return true;
- }
- }
-
- return false;
- }
-
- static KeyStroke getCachedKeyCharKeyStroke(char var0, boolean var1) {
- KeyStroke var2 = null;
- if (var0 >= '\n' && var0 < 127) {
- Class var3 = class$javax$swing$KeyStroke != null ? class$javax$swing$KeyStroke : (class$javax$swing$KeyStroke = class$("javax.swing.KeyStroke"));
- synchronized(var3){}
-
- try {
- KeyStroke[] var5;
- if (var1) {
- var5 = (KeyStroke[])SwingUtilities.appContextGet(releasedCharCacheKey);
- } else {
- var5 = (KeyStroke[])SwingUtilities.appContextGet(pressedCharCacheKey);
- }
-
- if (var5 != null) {
- var2 = var5[var0 - 10];
- }
- } catch (Throwable var7) {
- throw var7;
- }
- }
-
- return var2;
- }
-
- static KeyStroke getCachedKeyStroke(int var0, int var1, boolean var2) {
- KeyStroke var4 = null;
- int var3;
- if (var0 >= 10 && var0 < 127 && (var3 = subIndexForModifier(var1)) != -1) {
- Class var5 = class$javax$swing$KeyStroke != null ? class$javax$swing$KeyStroke : (class$javax$swing$KeyStroke = class$("javax.swing.KeyStroke"));
- synchronized(var5){}
-
- try {
- KeyStroke[][] var7;
- if (var2) {
- var7 = (KeyStroke[][])SwingUtilities.appContextGet(pressedCodeCacheKey);
- } else {
- var7 = (KeyStroke[][])SwingUtilities.appContextGet(releasedCodeCacheKey);
- }
-
- if (var7 != null) {
- var4 = var7[var3][var0 - 10];
- }
- } catch (Throwable var9) {
- throw var9;
- }
- }
-
- return var4;
- }
-
- public char getKeyChar() {
- return this.keyChar;
- }
-
- public int getKeyCode() {
- return this.keyCode;
- }
-
- public static KeyStroke getKeyStroke(char var0) {
- return getKeyStroke(var0, false);
- }
-
- /** @deprecated */
- public static KeyStroke getKeyStroke(char var0, boolean var1) {
- KeyStroke var2 = getCachedKeyCharKeyStroke(var0, var1);
- if (var2 == null) {
- var2 = new KeyStroke();
- var2.keyChar = var0;
- var2.modifiers = 0;
- var2.onKeyRelease = var1;
- cacheKeyCharKeyStroke(var2, var1);
- }
-
- return var2;
- }
-
- public static KeyStroke getKeyStroke(int var0, int var1) {
- return getKeyStroke(var0, var1, false);
- }
-
- public static KeyStroke getKeyStroke(int var0, int var1, boolean var2) {
- KeyStroke var3 = getCachedKeyStroke(var0, var1, var2);
- if (var3 == null) {
- var3 = new KeyStroke();
- var3.keyCode = var0;
- var3.modifiers = var1;
- var3.onKeyRelease = var2;
- cacheKeyStroke(var3);
- }
-
- return var3;
- }
-
- public static KeyStroke getKeyStroke(String var0) {
- return null;
- }
-
- public static KeyStroke getKeyStrokeForEvent(KeyEvent var0) {
- KeyStroke var1 = null;
- switch (((AWTEvent)var0).getID()) {
- case 400:
- var1 = getKeyStroke(var0.getKeyChar());
- break;
- case 401:
- var1 = getKeyStroke(var0.getKeyCode(), ((InputEvent)var0).getModifiers(), false);
- break;
- case 402:
- var1 = getKeyStroke(var0.getKeyCode(), ((InputEvent)var0).getModifiers(), true);
- }
-
- return var1;
- }
-
- public int getModifiers() {
- return this.modifiers;
- }
-
- private static String getStringRepresentation(char var0, int var1, boolean var2) {
- return "keyChar " + KeyEvent.getKeyModifiersText(var1) + var0 + (var2 ? "-R" : "-P");
- }
-
- private static String getStringRepresentation(int var0, int var1, boolean var2) {
- return "keyCode " + KeyEvent.getKeyModifiersText(var1) + KeyEvent.getKeyText(var0) + (var2 ? "-R" : "-P");
- }
-
- public int hashCode() {
- return (this.keyChar + 1) * 2 * (this.keyCode + 1) * (this.modifiers + 1) + (this.onKeyRelease ? 1 : 2);
- }
-
- public boolean isOnKeyRelease() {
- return this.onKeyRelease;
- }
-
- static int subIndexForModifier(int var0) {
- if (var0 == 0) {
- return 0;
- } else if (var0 == 1) {
- return 1;
- } else if (var0 == 2) {
- return 2;
- } else {
- return var0 == 8 ? 3 : -1;
- }
- }
-
- public String toString() {
- return this.keyChar == 0 ? getStringRepresentation(this.keyCode, this.modifiers, this.onKeyRelease) : getStringRepresentation((char)this.keyChar, 0, this.onKeyRelease);
- }
- }
-