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

📄 keyevt.java

📁 kaffe是一个java虚拟机的源代码。里面包含了一些java例程和标准的java包。
💻 JAVA
字号:
package java.awt;import java.awt.event.KeyEvent;class KeyEvt  extends KeyEvent{	static KeyEvt cache;KeyEvt ( Component src, int evtId, long time, int mods, int kCode, char kChar ) {	super( src, evtId, time, mods, kCode, kChar);}protected void dispatch () {	if ( AWTEvent.keyTgt != null )           // do we have a focus window?		source = AWTEvent.keyTgt;	else {		if ( source == null )			return;		AWTEvent.keyTgt = (Component)source;   // hmm, just a defense line	}	if ( id == KEY_PRESSED ) {		accelHint = true;		if ( keyChar == 0 ){			// update modifiers for function keys			switch ( keyCode ) {			case VK_SHIFT:        inputModifier |= SHIFT_MASK; break;			case VK_CONTROL:      inputModifier |= CTRL_MASK;  break;			case VK_ALT:          inputModifier |= ALT_MASK;   break;			case VK_META:         inputModifier |= META_MASK;			}		}		// we interpret the setEnabled spec in a way that we don't emit events for disabled comps		if ( (AWTEvent.keyTgt.eventMask & AWTEvent.DISABLED_MASK) == 0 ) {			AWTEvent.keyTgt.process( this);			if ( !consumed && !ShortcutHandler.handle( this) ) {				if ( keyChar != 0 ) {         // printable key					if ( AWTEvent.keyTgt != null ) {     // maybe a fast finger pulled the keyTgt under our feet						id = KEY_TYPED;						keyCode = 0;						AWTEvent.keyTgt.process( this);					}				}			}		}		}	else if ( id == KEY_RELEASED ) {			accelHint = false;		if ( (AWTEvent.keyTgt.eventMask & AWTEvent.DISABLED_MASK) == 0 ) {			AWTEvent.keyTgt.process( this);		}		if ( keyChar == 0 ) {			switch ( keyCode ) {			case VK_SHIFT:        inputModifier &= ~SHIFT_MASK; break;			case VK_CONTROL:      inputModifier &= ~CTRL_MASK;  break;			case VK_ALT:          inputModifier &= ~ALT_MASK;   break;			case VK_META:         inputModifier &= ~META_MASK;			}		}	}	if ( (Defaults.RecycleEvents & AWTEvent.KEY_EVENT_MASK) != 0 )		recycle();}static synchronized KeyEvt getEvent ( Component source, int id, int keyCode, int keyChar, int modifier ) {	KeyEvt    e;	long      when = System.currentTimeMillis();		if ( cache == null ) {		e = new KeyEvt( source, id, when, modifier, keyCode, (char)keyChar);	}	else {		e = cache;		cache = (KeyEvt) e.next;		e.next = null;			e.id         = id;		e.source     = source;		e.when       = when;		e.modifiers  = modifier;		e.keyCode    = keyCode;		e.keyChar    = (char)keyChar;		e.consumed	 = false;	}	return e;}static synchronized KeyEvt getEvent ( int srcIdx, int id, int keyCode, int keyChar, int modifier ) {	KeyEvt    e;	Component source = sources[srcIdx];	long      when = System.currentTimeMillis();		// Check for modifier keystrokes which have been "eaten" by the native window system.	// Unfortunately, this can happen if the window manager temporarily grabs the keyboard	// (e.g. fvwm2 during an initial window positioning)	if ( (modifier == 0) && (inputModifier != 0) )		inputModifier = 0;		if ( cache == null ) {		e = new KeyEvt( source, id, when, inputModifier, keyCode, (char)keyChar);	}	else {		e = cache;		cache = (KeyEvt) e.next;		e.next = null;			e.id         = id;		e.source     = source;		e.when       = when;		e.modifiers  = inputModifier;		e.keyCode    = keyCode;		e.keyChar    = (char)keyChar;		e.consumed	 = false;	}	if ( (Toolkit.flags & Toolkit.NATIVE_DISPATCHER_LOOP) != 0 ) {		// this is not used as a direct return value for EventQueue.getNextEvent(), 		// it has to be Java-queued by the native layer		Toolkit.eventQueue.postEvent( e);	}	return e;}protected void recycle () {	synchronized ( KeyEvt.class ) {		source = null;		next  = cache;		cache = this;	}}}

⌨️ 快捷键说明

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