home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 April / DPPCPRO0499.ISO / April / Notes / 50b2wic.exe / DATA1.CAB / NotesProgramFilesJavaSupport / rt.jar / java / awt / event / KeyEvent.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-04-23  |  9.1 KB  |  390 lines

  1. package java.awt.event;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Toolkit;
  5.  
  6. public class KeyEvent extends InputEvent {
  7.    public static final int KEY_FIRST = 400;
  8.    public static final int KEY_LAST = 402;
  9.    public static final int KEY_TYPED = 400;
  10.    public static final int KEY_PRESSED = 401;
  11.    public static final int KEY_RELEASED = 402;
  12.    public static final int VK_ENTER = 10;
  13.    public static final int VK_BACK_SPACE = 8;
  14.    public static final int VK_TAB = 9;
  15.    public static final int VK_CANCEL = 3;
  16.    public static final int VK_CLEAR = 12;
  17.    public static final int VK_SHIFT = 16;
  18.    public static final int VK_CONTROL = 17;
  19.    public static final int VK_ALT = 18;
  20.    public static final int VK_PAUSE = 19;
  21.    public static final int VK_CAPS_LOCK = 20;
  22.    public static final int VK_ESCAPE = 27;
  23.    public static final int VK_SPACE = 32;
  24.    public static final int VK_PAGE_UP = 33;
  25.    public static final int VK_PAGE_DOWN = 34;
  26.    public static final int VK_END = 35;
  27.    public static final int VK_HOME = 36;
  28.    public static final int VK_LEFT = 37;
  29.    public static final int VK_UP = 38;
  30.    public static final int VK_RIGHT = 39;
  31.    public static final int VK_DOWN = 40;
  32.    public static final int VK_COMMA = 44;
  33.    public static final int VK_PERIOD = 46;
  34.    public static final int VK_SLASH = 47;
  35.    public static final int VK_0 = 48;
  36.    public static final int VK_1 = 49;
  37.    public static final int VK_2 = 50;
  38.    public static final int VK_3 = 51;
  39.    public static final int VK_4 = 52;
  40.    public static final int VK_5 = 53;
  41.    public static final int VK_6 = 54;
  42.    public static final int VK_7 = 55;
  43.    public static final int VK_8 = 56;
  44.    public static final int VK_9 = 57;
  45.    public static final int VK_SEMICOLON = 59;
  46.    public static final int VK_EQUALS = 61;
  47.    public static final int VK_A = 65;
  48.    public static final int VK_B = 66;
  49.    public static final int VK_C = 67;
  50.    public static final int VK_D = 68;
  51.    public static final int VK_E = 69;
  52.    public static final int VK_F = 70;
  53.    public static final int VK_G = 71;
  54.    public static final int VK_H = 72;
  55.    public static final int VK_I = 73;
  56.    public static final int VK_J = 74;
  57.    public static final int VK_K = 75;
  58.    public static final int VK_L = 76;
  59.    public static final int VK_M = 77;
  60.    public static final int VK_N = 78;
  61.    public static final int VK_O = 79;
  62.    public static final int VK_P = 80;
  63.    public static final int VK_Q = 81;
  64.    public static final int VK_R = 82;
  65.    public static final int VK_S = 83;
  66.    public static final int VK_T = 84;
  67.    public static final int VK_U = 85;
  68.    public static final int VK_V = 86;
  69.    public static final int VK_W = 87;
  70.    public static final int VK_X = 88;
  71.    public static final int VK_Y = 89;
  72.    public static final int VK_Z = 90;
  73.    public static final int VK_OPEN_BRACKET = 91;
  74.    public static final int VK_BACK_SLASH = 92;
  75.    public static final int VK_CLOSE_BRACKET = 93;
  76.    public static final int VK_NUMPAD0 = 96;
  77.    public static final int VK_NUMPAD1 = 97;
  78.    public static final int VK_NUMPAD2 = 98;
  79.    public static final int VK_NUMPAD3 = 99;
  80.    public static final int VK_NUMPAD4 = 100;
  81.    public static final int VK_NUMPAD5 = 101;
  82.    public static final int VK_NUMPAD6 = 102;
  83.    public static final int VK_NUMPAD7 = 103;
  84.    public static final int VK_NUMPAD8 = 104;
  85.    public static final int VK_NUMPAD9 = 105;
  86.    public static final int VK_MULTIPLY = 106;
  87.    public static final int VK_ADD = 107;
  88.    public static final int VK_SEPARATER = 108;
  89.    public static final int VK_SUBTRACT = 109;
  90.    public static final int VK_DECIMAL = 110;
  91.    public static final int VK_DIVIDE = 111;
  92.    public static final int VK_F1 = 112;
  93.    public static final int VK_F2 = 113;
  94.    public static final int VK_F3 = 114;
  95.    public static final int VK_F4 = 115;
  96.    public static final int VK_F5 = 116;
  97.    public static final int VK_F6 = 117;
  98.    public static final int VK_F7 = 118;
  99.    public static final int VK_F8 = 119;
  100.    public static final int VK_F9 = 120;
  101.    public static final int VK_F10 = 121;
  102.    public static final int VK_F11 = 122;
  103.    public static final int VK_F12 = 123;
  104.    public static final int VK_DELETE = 127;
  105.    public static final int VK_NUM_LOCK = 144;
  106.    public static final int VK_SCROLL_LOCK = 145;
  107.    public static final int VK_PRINTSCREEN = 154;
  108.    public static final int VK_INSERT = 155;
  109.    public static final int VK_HELP = 156;
  110.    public static final int VK_META = 157;
  111.    public static final int VK_BACK_QUOTE = 192;
  112.    public static final int VK_QUOTE = 222;
  113.    public static final int VK_FINAL = 24;
  114.    public static final int VK_CONVERT = 28;
  115.    public static final int VK_NONCONVERT = 29;
  116.    public static final int VK_ACCEPT = 30;
  117.    public static final int VK_MODECHANGE = 31;
  118.    public static final int VK_KANA = 21;
  119.    public static final int VK_KANJI = 25;
  120.    public static final int VK_UNDEFINED = 0;
  121.    public static final char CHAR_UNDEFINED = '\u0000';
  122.    int keyCode;
  123.    char keyChar;
  124.    private static final long serialVersionUID = -2352130953028126954L;
  125.  
  126.    public KeyEvent(Component var1, int var2, long var3, int var5, int var6, char var7) {
  127.       super(var1, var2, var3, var5);
  128.       if (var2 == 400 && var7 == 0) {
  129.          throw new IllegalArgumentException("invalid keyChar");
  130.       } else if (var2 == 400 && var6 != 0) {
  131.          throw new IllegalArgumentException("invalid keyCode");
  132.       } else {
  133.          this.keyCode = var6;
  134.          this.keyChar = var7;
  135.       }
  136.    }
  137.  
  138.    public KeyEvent(Component var1, int var2, long var3, int var5, int var6) {
  139.       this(var1, var2, var3, var5, var6, (char)var6);
  140.    }
  141.  
  142.    public int getKeyCode() {
  143.       return this.keyCode;
  144.    }
  145.  
  146.    public void setKeyCode(int var1) {
  147.       this.keyCode = var1;
  148.    }
  149.  
  150.    public void setKeyChar(char var1) {
  151.       this.keyChar = var1;
  152.    }
  153.  
  154.    public void setModifiers(int var1) {
  155.       super.modifiers = var1;
  156.    }
  157.  
  158.    public char getKeyChar() {
  159.       return this.keyChar;
  160.    }
  161.  
  162.    public static String getKeyText(int var0) {
  163.       if ((var0 < 48 || var0 > 57) && (var0 < 65 || var0 > 90)) {
  164.          int var1 = ",./;=[\\]".indexOf(var0);
  165.          if (var1 >= 0) {
  166.             return String.valueOf((char)var0);
  167.          } else {
  168.             switch (var0) {
  169.                case 3:
  170.                   return Toolkit.getProperty("AWT.cancel", "Cancel");
  171.                case 8:
  172.                   return Toolkit.getProperty("AWT.backSpace", "Backspace");
  173.                case 9:
  174.                   return Toolkit.getProperty("AWT.tab", "Tab");
  175.                case 10:
  176.                   return Toolkit.getProperty("AWT.enter", "Enter");
  177.                case 12:
  178.                   return Toolkit.getProperty("AWT.clear", "Clear");
  179.                case 16:
  180.                   return Toolkit.getProperty("AWT.shift", "Shift");
  181.                case 17:
  182.                   return Toolkit.getProperty("AWT.control", "Control");
  183.                case 18:
  184.                   return Toolkit.getProperty("AWT.alt", "Alt");
  185.                case 19:
  186.                   return Toolkit.getProperty("AWT.pause", "Pause");
  187.                case 20:
  188.                   return Toolkit.getProperty("AWT.capsLock", "Caps Lock");
  189.                case 21:
  190.                   return Toolkit.getProperty("AWT.kana", "Kana");
  191.                case 24:
  192.                   return Toolkit.getProperty("AWT.final", "Final");
  193.                case 25:
  194.                   return Toolkit.getProperty("AWT.kanji", "Kanji");
  195.                case 27:
  196.                   return Toolkit.getProperty("AWT.escape", "Escape");
  197.                case 28:
  198.                   return Toolkit.getProperty("AWT.convert", "Convert");
  199.                case 29:
  200.                   return Toolkit.getProperty("AWT.noconvert", "No Convert");
  201.                case 30:
  202.                   return Toolkit.getProperty("AWT.accept", "Accept");
  203.                case 31:
  204.                   return Toolkit.getProperty("AWT.modechange", "Mode Change");
  205.                case 32:
  206.                   return Toolkit.getProperty("AWT.space", "Space");
  207.                case 33:
  208.                   return Toolkit.getProperty("AWT.pgup", "Page Up");
  209.                case 34:
  210.                   return Toolkit.getProperty("AWT.pgdn", "Page Down");
  211.                case 35:
  212.                   return Toolkit.getProperty("AWT.end", "End");
  213.                case 36:
  214.                   return Toolkit.getProperty("AWT.home", "Home");
  215.                case 37:
  216.                   return Toolkit.getProperty("AWT.left", "Left");
  217.                case 38:
  218.                   return Toolkit.getProperty("AWT.up", "Up");
  219.                case 39:
  220.                   return Toolkit.getProperty("AWT.right", "Right");
  221.                case 40:
  222.                   return Toolkit.getProperty("AWT.down", "Down");
  223.                case 106:
  224.                   return Toolkit.getProperty("AWT.multiply", "NumPad *");
  225.                case 107:
  226.                   return Toolkit.getProperty("AWT.add", "NumPad +");
  227.                case 108:
  228.                   return Toolkit.getProperty("AWT.separater", "NumPad ,");
  229.                case 109:
  230.                   return Toolkit.getProperty("AWT.subtract", "NumPad -");
  231.                case 110:
  232.                   return Toolkit.getProperty("AWT.decimal", "NumPad .");
  233.                case 111:
  234.                   return Toolkit.getProperty("AWT.divide", "NumPad /");
  235.                case 112:
  236.                   return Toolkit.getProperty("AWT.f1", "F1");
  237.                case 113:
  238.                   return Toolkit.getProperty("AWT.f2", "F2");
  239.                case 114:
  240.                   return Toolkit.getProperty("AWT.f3", "F3");
  241.                case 115:
  242.                   return Toolkit.getProperty("AWT.f4", "F4");
  243.                case 116:
  244.                   return Toolkit.getProperty("AWT.f5", "F5");
  245.                case 117:
  246.                   return Toolkit.getProperty("AWT.f6", "F6");
  247.                case 118:
  248.                   return Toolkit.getProperty("AWT.f7", "F7");
  249.                case 119:
  250.                   return Toolkit.getProperty("AWT.f8", "F8");
  251.                case 120:
  252.                   return Toolkit.getProperty("AWT.f9", "F9");
  253.                case 121:
  254.                   return Toolkit.getProperty("AWT.f10", "F10");
  255.                case 122:
  256.                   return Toolkit.getProperty("AWT.f11", "F11");
  257.                case 123:
  258.                   return Toolkit.getProperty("AWT.f12", "F12");
  259.                case 127:
  260.                   return Toolkit.getProperty("AWT.delete", "Delete");
  261.                case 144:
  262.                   return Toolkit.getProperty("AWT.numLock", "Num Lock");
  263.                case 145:
  264.                   return Toolkit.getProperty("AWT.scrollLock", "Scroll Lock");
  265.                case 154:
  266.                   return Toolkit.getProperty("AWT.printScreen", "Print Screen");
  267.                case 155:
  268.                   return Toolkit.getProperty("AWT.insert", "Insert");
  269.                case 156:
  270.                   return Toolkit.getProperty("AWT.help", "Help");
  271.                case 157:
  272.                   return Toolkit.getProperty("AWT.meta", "Meta");
  273.                case 192:
  274.                   return Toolkit.getProperty("AWT.backQuote", "Back Quote");
  275.                case 222:
  276.                   return Toolkit.getProperty("AWT.quote", "Quote");
  277.                default:
  278.                   if (var0 >= 96 && var0 <= 105) {
  279.                      String var4 = Toolkit.getProperty("AWT.numpad", "NumPad");
  280.                      char var3 = (char)(var0 - 96 + 48);
  281.                      return var4 + "-" + var3;
  282.                   } else {
  283.                      String var2 = Toolkit.getProperty("AWT.unknown", "Unknown keyCode");
  284.                      return var2 + ": 0x" + Integer.toString(var0, 16);
  285.                   }
  286.             }
  287.          }
  288.       } else {
  289.          return String.valueOf((char)var0);
  290.       }
  291.    }
  292.  
  293.    public static String getKeyModifiersText(int var0) {
  294.       StringBuffer var1 = new StringBuffer();
  295.       if ((var0 & 4) != 0) {
  296.          var1.append(Toolkit.getProperty("AWT.meta", "Meta"));
  297.          var1.append("+");
  298.       }
  299.  
  300.       if ((var0 & 2) != 0) {
  301.          var1.append(Toolkit.getProperty("AWT.control", "Ctrl"));
  302.          var1.append("+");
  303.       }
  304.  
  305.       if ((var0 & 8) != 0) {
  306.          var1.append(Toolkit.getProperty("AWT.alt", "Alt"));
  307.          var1.append("+");
  308.       }
  309.  
  310.       if ((var0 & 1) != 0) {
  311.          var1.append(Toolkit.getProperty("AWT.shift", "Shift"));
  312.          var1.append("+");
  313.       }
  314.  
  315.       if (var1.length() > 0) {
  316.          var1.setLength(var1.length() - 1);
  317.       }
  318.  
  319.       return var1.toString();
  320.    }
  321.  
  322.    public boolean isActionKey() {
  323.       switch (this.keyCode) {
  324.          case 19:
  325.          case 20:
  326.          case 33:
  327.          case 34:
  328.          case 35:
  329.          case 36:
  330.          case 37:
  331.          case 38:
  332.          case 39:
  333.          case 40:
  334.          case 112:
  335.          case 113:
  336.          case 114:
  337.          case 115:
  338.          case 116:
  339.          case 117:
  340.          case 118:
  341.          case 119:
  342.          case 120:
  343.          case 121:
  344.          case 122:
  345.          case 123:
  346.          case 144:
  347.          case 145:
  348.          case 154:
  349.          case 155:
  350.             return true;
  351.          default:
  352.             return false;
  353.       }
  354.    }
  355.  
  356.    public String paramString() {
  357.       String var1;
  358.       switch (super.id) {
  359.          case 400:
  360.             var1 = "KEY_TYPED";
  361.             break;
  362.          case 401:
  363.             var1 = "KEY_PRESSED";
  364.             break;
  365.          case 402:
  366.             var1 = "KEY_RELEASED";
  367.             break;
  368.          default:
  369.             var1 = "unknown type";
  370.       }
  371.  
  372.       String var2 = var1 + ",keyCode=" + this.keyCode;
  373.       if (!this.isActionKey() && this.keyCode != 10 && this.keyCode != 8 && this.keyCode != 9 && this.keyCode != 27 && this.keyCode != 127 && (this.keyCode < 96 || this.keyCode > 105)) {
  374.          if (this.keyChar != '\n' && this.keyChar != '\b' && this.keyChar != '\t' && this.keyChar != 27 && this.keyChar != 127) {
  375.             var2 = var2 + ",keyChar='" + this.keyChar + "'";
  376.          } else {
  377.             var2 = var2 + "," + getKeyText(this.keyChar);
  378.          }
  379.       } else {
  380.          var2 = var2 + "," + getKeyText(this.keyCode);
  381.       }
  382.  
  383.       if (super.modifiers > 0) {
  384.          var2 = var2 + ",modifiers=" + getKeyModifiersText(super.modifiers);
  385.       }
  386.  
  387.       return var2;
  388.    }
  389. }
  390.