⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keyevent.java

📁 JAVA基本类源代码,大家可以学习学习!
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
/* * @(#)KeyEvent.java	1.65 03/01/23 * * Copyright 2003 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package java.awt.event;import java.awt.Event;import java.awt.Component;import java.awt.GraphicsEnvironment;import java.awt.Toolkit;import java.io.IOException;import java.io.ObjectInputStream;/** * An event which indicates that a keystroke occurred in a component. * <p> * This low-level event is generated by a component object (such as a text  * field) when a key is pressed, released, or typed.   * The event is passed to every <code>KeyListener</code> * or <code>KeyAdapter</code> object which registered to receive such * events using the component's <code>addKeyListener</code> method. * (<code>KeyAdapter</code> objects implement the  * <code>KeyListener</code> interface.)  Each such listener object  * gets this <code>KeyEvent</code> when the event occurs. * * <p> * <em>"Key typed" events</em> are higher-level and generally do not depend on  * the platform or keyboard layout.  They are generated when a Unicode character  * is entered, and are the preferred way to find out about character input. * In the simplest case, a key typed event is produced by a single key press  * (e.g., 'a').  Often, however, characters are produced by series of key  * presses (e.g., 'shift' + 'a'), and the mapping from key pressed events to  * key typed events may be many-to-one or many-to-many.  Key releases are not  * usually necessary to generate a key typed event, but there are some cases  * where the key typed event is not generated until a key is released (e.g.,  * entering ASCII sequences via the Alt-Numpad method in Windows).   * No key typed events are generated for keys that don't generate Unicode  * characters (e.g., action keys, modifier keys, etc.). * The getKeyChar method always returns a valid Unicode character or  * CHAR_UNDEFINED.   * For key pressed and key released events, the getKeyCode method returns  * the event's keyCode.  For key typed events, the getKeyCode method  * always returns VK_UNDEFINED. * * <p> * <em>"Key pressed" and "key released" events</em> are lower-level and depend  * on the platform and keyboard layout. They are generated whenever a key is  * pressed or released, and are the only way to find out about keys that don't  * generate character input (e.g., action keys, modifier keys, etc.). The key  * being pressed or released is indicated by the getKeyCode method, which returns  * a virtual key code. * * <p> * <em>Virtual key codes</em> are used to report which keyboard key has * been pressed, rather than a character generated by the combination * of one or more keystrokes (such as "A", which comes from shift and "a").   * * <p> * For example, pressing the Shift key will cause a KEY_PRESSED event  * with a VK_SHIFT keyCode, while pressing the 'a' key will result in  * a VK_A keyCode.  After the 'a' key is released, a KEY_RELEASED event  * will be fired with VK_A. Separately, a KEY_TYPED event with a keyChar  * value of 'A' is generated. * * <p> * Notes: * <ul> * <li>Key combinations which do not result in Unicode characters, such as action  * keys like F1 and the HELP key, do not generate KEY_TYPED events. * <li>Not all keyboards or systems are capable of generating all * virtual key codes.  No attempt is made in Java to generate these keys  * artificially.  * <li>Virtual key codes do not identify a physical key: they depend on the * platform and keyboard layout. For example, the key that generates VK_Q  * when using a U.S. keyboard layout will generate VK_A when using a French  * keyboard layout. * <li>Not all characters have a keycode associated with them.  For example,  * there is no keycode for the question mark because there is no keyboard  * for which it appears on the primary layer.   * <li>In order to support the platform-independent handling of action keys, * the Java platform uses a few additional virtual key constants for functions * that would otherwise have to be recognized by interpreting virtual key codes * and modifiers. For example, for Japanese Windows keyboards, VK_ALL_CANDIDATES * is returned instead of VK_CONVERT with the ALT modifier. * </ul> * * <p> * WARNING: Aside from those keys that are defined by the Java language * (VK_ENTER, VK_BACK_SPACE, and VK_TAB), do not rely on the values of the VK_ * constants.  Sun reserves the right to change these values as needed * to accomodate a wider range of keyboards in the future.   * * @author Carl Quinn * @author Amy Fowler * @author Norbert Lindenberg * @version 1.65 01/23/03 * * @see KeyAdapter * @see KeyListener * @see <a href="http://java.sun.com/docs/books/tutorial/post1.0/ui/keylistener.html">Tutorial: Writing a Key Listener</a> * @see <a href="http://www.awl.com/cp/javaseries/jcl1_2.html">Reference: The Java Class Libraries (update file)</a> * * @since 1.1 */public class KeyEvent extends InputEvent {    /**     * Stores the state of native event dispatching system     * - true, if when the event was created event proxying      *         mechanism was active     * - false, if it was inactive     * Used in Component.dispatchEventImpl to correctly dispatch     * events when proxy is active     */    private boolean isProxyActive = false;    /**     * The first number in the range of ids used for key events.     */    public static final int KEY_FIRST = 400;    /**     * The last number in the range of ids used for key events.     */    public static final int KEY_LAST  = 402;    /**     * The "key typed" event.  This event is generated when a character is     * entered.  In the simplest case, it is produced by a single key press.       * Often, however, characters are produced by series of key presses, and      * the mapping from key pressed events to key typed events may be      * many-to-one or many-to-many.       */    public static final int KEY_TYPED = KEY_FIRST;    /**     * The "key pressed" event. This event is generated when a key     * is pushed down.     */    public static final int KEY_PRESSED = 1 + KEY_FIRST; //Event.KEY_PRESS    /**     * The "key released" event. This event is generated when a key     * is let up.     */    public static final int KEY_RELEASED = 2 + KEY_FIRST; //Event.KEY_RELEASE    /* Virtual key codes. */    public static final int VK_ENTER          = '\n';    public static final int VK_BACK_SPACE     = '\b';    public static final int VK_TAB            = '\t';    public static final int VK_CANCEL         = 0x03;    public static final int VK_CLEAR          = 0x0C;    public static final int VK_SHIFT          = 0x10;    public static final int VK_CONTROL        = 0x11;    public static final int VK_ALT            = 0x12;    public static final int VK_PAUSE          = 0x13;    public static final int VK_CAPS_LOCK      = 0x14;    public static final int VK_ESCAPE         = 0x1B;    public static final int VK_SPACE          = 0x20;    public static final int VK_PAGE_UP        = 0x21;    public static final int VK_PAGE_DOWN      = 0x22;    public static final int VK_END            = 0x23;    public static final int VK_HOME           = 0x24;    /**     * Constant for the non-numpad <b>left</b> arrow key.     * @see #VK_KP_LEFT     */    public static final int VK_LEFT           = 0x25;    /**     * Constant for the non-numpad <b>up</b> arrow key.     * @see #VK_KP_UP     */    public static final int VK_UP             = 0x26;    /**     * Constant for the non-numpad <b>right</b> arrow key.     * @see #VK_KP_RIGHT     */    public static final int VK_RIGHT          = 0x27;    /**     * Constant for the non-numpad <b>down</b> arrow key.     * @see #VK_KP_DOWN     */    public static final int VK_DOWN           = 0x28;    public static final int VK_COMMA          = 0x2C;    /**     * Constant for the "-" key.     * @since 1.2     */    public static final int VK_MINUS          = 0x2D;    public static final int VK_PERIOD         = 0x2E;    public static final int VK_SLASH          = 0x2F;    /** VK_0 thru VK_9 are the same as ASCII '0' thru '9' (0x30 - 0x39) */    public static final int VK_0              = 0x30;    public static final int VK_1              = 0x31;    public static final int VK_2              = 0x32;    public static final int VK_3              = 0x33;    public static final int VK_4              = 0x34;    public static final int VK_5              = 0x35;    public static final int VK_6              = 0x36;    public static final int VK_7              = 0x37;    public static final int VK_8              = 0x38;    public static final int VK_9              = 0x39;    public static final int VK_SEMICOLON      = 0x3B;    public static final int VK_EQUALS         = 0x3D;    /** VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A) */    public static final int VK_A              = 0x41;    public static final int VK_B              = 0x42;    public static final int VK_C              = 0x43;    public static final int VK_D              = 0x44;    public static final int VK_E              = 0x45;    public static final int VK_F              = 0x46;    public static final int VK_G              = 0x47;    public static final int VK_H              = 0x48;    public static final int VK_I              = 0x49;    public static final int VK_J              = 0x4A;    public static final int VK_K              = 0x4B;    public static final int VK_L              = 0x4C;    public static final int VK_M              = 0x4D;    public static final int VK_N              = 0x4E;    public static final int VK_O              = 0x4F;    public static final int VK_P              = 0x50;    public static final int VK_Q              = 0x51;    public static final int VK_R              = 0x52;    public static final int VK_S              = 0x53;    public static final int VK_T              = 0x54;    public static final int VK_U              = 0x55;    public static final int VK_V              = 0x56;    public static final int VK_W              = 0x57;    public static final int VK_X              = 0x58;    public static final int VK_Y              = 0x59;    public static final int VK_Z              = 0x5A;    public static final int VK_OPEN_BRACKET   = 0x5B;    public static final int VK_BACK_SLASH     = 0x5C;    public static final int VK_CLOSE_BRACKET  = 0x5D;    public static final int VK_NUMPAD0        = 0x60;    public static final int VK_NUMPAD1        = 0x61;    public static final int VK_NUMPAD2        = 0x62;    public static final int VK_NUMPAD3        = 0x63;    public static final int VK_NUMPAD4        = 0x64;    public static final int VK_NUMPAD5        = 0x65;    public static final int VK_NUMPAD6        = 0x66;    public static final int VK_NUMPAD7        = 0x67;    public static final int VK_NUMPAD8        = 0x68;    public static final int VK_NUMPAD9        = 0x69;    public static final int VK_MULTIPLY       = 0x6A;    public static final int VK_ADD            = 0x6B;    /**      * This constant is obsolete, and is included only for backwards     * compatibility.     * @see #VK_SEPARATOR     */    public static final int VK_SEPARATER      = 0x6C;    /**      * Constant for the Numpad Separator key.      * @since 1.4     */    public static final int VK_SEPARATOR      = VK_SEPARATER;    public static final int VK_SUBTRACT       = 0x6D;    public static final int VK_DECIMAL        = 0x6E;    public static final int VK_DIVIDE         = 0x6F;    public static final int VK_DELETE         = 0x7F; /* ASCII DEL */    public static final int VK_NUM_LOCK       = 0x90;    public static final int VK_SCROLL_LOCK    = 0x91;    /** Constant for the F1 function key. */    public static final int VK_F1             = 0x70;    /** Constant for the F2 function key. */    public static final int VK_F2             = 0x71;    /** Constant for the F3 function key. */    public static final int VK_F3             = 0x72;    /** Constant for the F4 function key. */    public static final int VK_F4             = 0x73;    /** Constant for the F5 function key. */    public static final int VK_F5             = 0x74;    /** Constant for the F6 function key. */    public static final int VK_F6             = 0x75;    /** Constant for the F7 function key. */    public static final int VK_F7             = 0x76;    /** Constant for the F8 function key. */    public static final int VK_F8             = 0x77;    /** Constant for the F9 function key. */    public static final int VK_F9             = 0x78;    /** Constant for the F10 function key. */    public static final int VK_F10            = 0x79;    /** Constant for the F11 function key. */    public static final int VK_F11            = 0x7A;    /** Constant for the F12 function key. */    public static final int VK_F12            = 0x7B;    /**     * Constant for the F13 function key.     * @since 1.2     */    /* F13 - F24 are used on IBM 3270 keyboard; use random range for constants. */    public static final int VK_F13            = 0xF000;     /**     * Constant for the F14 function key.     * @since 1.2     */    public static final int VK_F14            = 0xF001;     /**     * Constant for the F15 function key.     * @since 1.2     */    public static final int VK_F15            = 0xF002;     /**     * Constant for the F16 function key.     * @since 1.2     */    public static final int VK_F16            = 0xF003;     /**     * Constant for the F17 function key.     * @since 1.2     */    public static final int VK_F17            = 0xF004;     /**     * Constant for the F18 function key.     * @since 1.2     */    public static final int VK_F18            = 0xF005;     /**     * Constant for the F19 function key.     * @since 1.2     */    public static final int VK_F19            = 0xF006;     /**     * Constant for the F20 function key.     * @since 1.2     */    public static final int VK_F20            = 0xF007;     /**

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -