001: /*
002: * Copyright 1995-2002 Sun Microsystems, Inc. All Rights Reserved.
003: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
004: *
005: * This code is free software; you can redistribute it and/or modify it
006: * under the terms of the GNU General Public License version 2 only, as
007: * published by the Free Software Foundation. Sun designates this
008: * particular file as subject to the "Classpath" exception as provided
009: * by Sun in the LICENSE file that accompanied this code.
010: *
011: * This code is distributed in the hope that it will be useful, but WITHOUT
012: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
013: * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
014: * version 2 for more details (a copy is included in the LICENSE file that
015: * accompanied this code).
016: *
017: * You should have received a copy of the GNU General Public License version
018: * 2 along with this work; if not, write to the Free Software Foundation,
019: * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
020: *
021: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
022: * CA 95054 USA or visit www.sun.com if you need additional information or
023: * have any questions.
024: */
025: package java.awt;
026:
027: import java.awt.event.*;
028: import java.io.*;
029:
030: /**
031: * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
032: * available only for backwards compatilibility. It has been replaced
033: * by the <code>AWTEvent</code> class and its subclasses.
034: * <p>
035: * <code>Event</code> is a platform-independent class that
036: * encapsulates events from the platform's Graphical User
037: * Interface in the Java 1.0 event model. In Java 1.1
038: * and later versions, the <code>Event</code> class is maintained
039: * only for backwards compatibilty. The information in this
040: * class description is provided to assist programmers in
041: * converting Java 1.0 programs to the new event model.
042: * <p>
043: * In the Java 1.0 event model, an event contains an
044: * {@link Event#id} field
045: * that indicates what type of event it is and which other
046: * <code>Event</code> variables are relevant for the event.
047: * <p>
048: * For keyboard events, {@link Event#key}
049: * contains a value indicating which key was activated, and
050: * {@link Event#modifiers} contains the
051: * modifiers for that event. For the KEY_PRESS and KEY_RELEASE
052: * event ids, the value of <code>key</code> is the unicode
053: * character code for the key. For KEY_ACTION and
054: * KEY_ACTION_RELEASE, the value of <code>key</code> is
055: * one of the defined action-key identifiers in the
056: * <code>Event</code> class (<code>PGUP</code>,
057: * <code>PGDN</code>, <code>F1</code>, <code>F2</code>, etc).
058: *
059: * @version 1.82 05/05/07
060: * @author Sami Shaio
061: * @since JDK1.0
062: */
063: public class Event implements java.io.Serializable {
064: private transient long data;
065:
066: /* Modifier constants */
067:
068: /**
069: * This flag indicates that the Shift key was down when the event
070: * occurred.
071: */
072: public static final int SHIFT_MASK = 1 << 0;
073:
074: /**
075: * This flag indicates that the Control key was down when the event
076: * occurred.
077: */
078: public static final int CTRL_MASK = 1 << 1;
079:
080: /**
081: * This flag indicates that the Meta key was down when the event
082: * occurred. For mouse events, this flag indicates that the right
083: * button was pressed or released.
084: */
085: public static final int META_MASK = 1 << 2;
086:
087: /**
088: * This flag indicates that the Alt key was down when
089: * the event occurred. For mouse events, this flag indicates that the
090: * middle mouse button was pressed or released.
091: */
092: public static final int ALT_MASK = 1 << 3;
093:
094: /* Action keys */
095:
096: /**
097: * The Home key, a non-ASCII action key.
098: */
099: public static final int HOME = 1000;
100:
101: /**
102: * The End key, a non-ASCII action key.
103: */
104: public static final int END = 1001;
105:
106: /**
107: * The Page Up key, a non-ASCII action key.
108: */
109: public static final int PGUP = 1002;
110:
111: /**
112: * The Page Down key, a non-ASCII action key.
113: */
114: public static final int PGDN = 1003;
115:
116: /**
117: * The Up Arrow key, a non-ASCII action key.
118: */
119: public static final int UP = 1004;
120:
121: /**
122: * The Down Arrow key, a non-ASCII action key.
123: */
124: public static final int DOWN = 1005;
125:
126: /**
127: * The Left Arrow key, a non-ASCII action key.
128: */
129: public static final int LEFT = 1006;
130:
131: /**
132: * The Right Arrow key, a non-ASCII action key.
133: */
134: public static final int RIGHT = 1007;
135:
136: /**
137: * The F1 function key, a non-ASCII action key.
138: */
139: public static final int F1 = 1008;
140:
141: /**
142: * The F2 function key, a non-ASCII action key.
143: */
144: public static final int F2 = 1009;
145:
146: /**
147: * The F3 function key, a non-ASCII action key.
148: */
149: public static final int F3 = 1010;
150:
151: /**
152: * The F4 function key, a non-ASCII action key.
153: */
154: public static final int F4 = 1011;
155:
156: /**
157: * The F5 function key, a non-ASCII action key.
158: */
159: public static final int F5 = 1012;
160:
161: /**
162: * The F6 function key, a non-ASCII action key.
163: */
164: public static final int F6 = 1013;
165:
166: /**
167: * The F7 function key, a non-ASCII action key.
168: */
169: public static final int F7 = 1014;
170:
171: /**
172: * The F8 function key, a non-ASCII action key.
173: */
174: public static final int F8 = 1015;
175:
176: /**
177: * The F9 function key, a non-ASCII action key.
178: */
179: public static final int F9 = 1016;
180:
181: /**
182: * The F10 function key, a non-ASCII action key.
183: */
184: public static final int F10 = 1017;
185:
186: /**
187: * The F11 function key, a non-ASCII action key.
188: */
189: public static final int F11 = 1018;
190:
191: /**
192: * The F12 function key, a non-ASCII action key.
193: */
194: public static final int F12 = 1019;
195:
196: /**
197: * The Print Screen key, a non-ASCII action key.
198: */
199: public static final int PRINT_SCREEN = 1020;
200:
201: /**
202: * The Scroll Lock key, a non-ASCII action key.
203: */
204: public static final int SCROLL_LOCK = 1021;
205:
206: /**
207: * The Caps Lock key, a non-ASCII action key.
208: */
209: public static final int CAPS_LOCK = 1022;
210:
211: /**
212: * The Num Lock key, a non-ASCII action key.
213: */
214: public static final int NUM_LOCK = 1023;
215:
216: /**
217: * The Pause key, a non-ASCII action key.
218: */
219: public static final int PAUSE = 1024;
220:
221: /**
222: * The Insert key, a non-ASCII action key.
223: */
224: public static final int INSERT = 1025;
225:
226: /* Non-action keys */
227:
228: /**
229: * The Enter key.
230: */
231: public static final int ENTER = '\n';
232:
233: /**
234: * The BackSpace key.
235: */
236: public static final int BACK_SPACE = '\b';
237:
238: /**
239: * The Tab key.
240: */
241: public static final int TAB = '\t';
242:
243: /**
244: * The Escape key.
245: */
246: public static final int ESCAPE = 27;
247:
248: /**
249: * The Delete key.
250: */
251: public static final int DELETE = 127;
252:
253: /* Base for all window events. */
254: private static final int WINDOW_EVENT = 200;
255:
256: /**
257: * The user has asked the window manager to kill the window.
258: */
259: public static final int WINDOW_DESTROY = 1 + WINDOW_EVENT;
260:
261: /**
262: * The user has asked the window manager to expose the window.
263: */
264: public static final int WINDOW_EXPOSE = 2 + WINDOW_EVENT;
265:
266: /**
267: * The user has asked the window manager to iconify the window.
268: */
269: public static final int WINDOW_ICONIFY = 3 + WINDOW_EVENT;
270:
271: /**
272: * The user has asked the window manager to de-iconify the window.
273: */
274: public static final int WINDOW_DEICONIFY = 4 + WINDOW_EVENT;
275:
276: /**
277: * The user has asked the window manager to move the window.
278: */
279: public static final int WINDOW_MOVED = 5 + WINDOW_EVENT;
280:
281: /* Base for all keyboard events. */
282: private static final int KEY_EVENT = 400;
283:
284: /**
285: * The user has pressed a normal key.
286: */
287: public static final int KEY_PRESS = 1 + KEY_EVENT;
288:
289: /**
290: * The user has released a normal key.
291: */
292: public static final int KEY_RELEASE = 2 + KEY_EVENT;
293:
294: /**
295: * The user has pressed a non-ASCII <em>action</em> key.
296: * The <code>key</code> field contains a value that indicates
297: * that the event occurred on one of the action keys, which
298: * comprise the 12 function keys, the arrow (cursor) keys,
299: * Page Up, Page Down, Home, End, Print Screen, Scroll Lock,
300: * Caps Lock, Num Lock, Pause, and Insert.
301: */
302: public static final int KEY_ACTION = 3 + KEY_EVENT;
303:
304: /**
305: * The user has released a non-ASCII <em>action</em> key.
306: * The <code>key</code> field contains a value that indicates
307: * that the event occurred on one of the action keys, which
308: * comprise the 12 function keys, the arrow (cursor) keys,
309: * Page Up, Page Down, Home, End, Print Screen, Scroll Lock,
310: * Caps Lock, Num Lock, Pause, and Insert.
311: */
312: public static final int KEY_ACTION_RELEASE = 4 + KEY_EVENT;
313:
314: /* Base for all mouse events. */
315: private static final int MOUSE_EVENT = 500;
316:
317: /**
318: * The user has pressed the mouse button. The <code>ALT_MASK</code>
319: * flag indicates that the middle button has been pressed.
320: * The <code>META_MASK</code>flag indicates that the
321: * right button has been pressed.
322: * @see java.awt.Event#ALT_MASK
323: * @see java.awt.Event#META_MASK
324: */
325: public static final int MOUSE_DOWN = 1 + MOUSE_EVENT;
326:
327: /**
328: * The user has released the mouse button. The <code>ALT_MASK</code>
329: * flag indicates that the middle button has been released.
330: * The <code>META_MASK</code>flag indicates that the
331: * right button has been released.
332: * @see java.awt.Event#ALT_MASK
333: * @see java.awt.Event#META_MASK
334: */
335: public static final int MOUSE_UP = 2 + MOUSE_EVENT;
336:
337: /**
338: * The mouse has moved with no button pressed.
339: */
340: public static final int MOUSE_MOVE = 3 + MOUSE_EVENT;
341:
342: /**
343: * The mouse has entered a component.
344: */
345: public static final int MOUSE_ENTER = 4 + MOUSE_EVENT;
346:
347: /**
348: * The mouse has exited a component.
349: */
350: public static final int MOUSE_EXIT = 5 + MOUSE_EVENT;
351:
352: /**
353: * The user has moved the mouse with a button pressed. The
354: * <code>ALT_MASK</code> flag indicates that the middle
355: * button is being pressed. The <code>META_MASK</code> flag indicates
356: * that the right button is being pressed.
357: * @see java.awt.Event#ALT_MASK
358: * @see java.awt.Event#META_MASK
359: */
360: public static final int MOUSE_DRAG = 6 + MOUSE_EVENT;
361:
362: /* Scrolling events */
363: private static final int SCROLL_EVENT = 600;
364:
365: /**
366: * The user has activated the <em>line up</em>
367: * area of a scroll bar.
368: */
369: public static final int SCROLL_LINE_UP = 1 + SCROLL_EVENT;
370:
371: /**
372: * The user has activated the <em>line down</em>
373: * area of a scroll bar.
374: */
375: public static final int SCROLL_LINE_DOWN = 2 + SCROLL_EVENT;
376:
377: /**
378: * The user has activated the <em>page up</em>
379: * area of a scroll bar.
380: */
381: public static final int SCROLL_PAGE_UP = 3 + SCROLL_EVENT;
382:
383: /**
384: * The user has activated the <em>page down</em>
385: * area of a scroll bar.
386: */
387: public static final int SCROLL_PAGE_DOWN = 4 + SCROLL_EVENT;
388:
389: /**
390: * The user has moved the bubble (thumb) in a scroll bar,
391: * moving to an "absolute" position, rather than to
392: * an offset from the last postion.
393: */
394: public static final int SCROLL_ABSOLUTE = 5 + SCROLL_EVENT;
395:
396: /**
397: * The scroll begin event.
398: */
399: public static final int SCROLL_BEGIN = 6 + SCROLL_EVENT;
400:
401: /**
402: * The scroll end event.
403: */
404: public static final int SCROLL_END = 7 + SCROLL_EVENT;
405:
406: /* List Events */
407: private static final int LIST_EVENT = 700;
408:
409: /**
410: * An item in a list has been selected.
411: */
412: public static final int LIST_SELECT = 1 + LIST_EVENT;
413:
414: /**
415: * An item in a list has been deselected.
416: */
417: public static final int LIST_DESELECT = 2 + LIST_EVENT;
418:
419: /* Misc Event */
420: private static final int MISC_EVENT = 1000;
421:
422: /**
423: * This event indicates that the user wants some action to occur.
424: */
425: public static final int ACTION_EVENT = 1 + MISC_EVENT;
426:
427: /**
428: * A file loading event.
429: */
430: public static final int LOAD_FILE = 2 + MISC_EVENT;
431:
432: /**
433: * A file saving event.
434: */
435: public static final int SAVE_FILE = 3 + MISC_EVENT;
436:
437: /**
438: * A component gained the focus.
439: */
440: public static final int GOT_FOCUS = 4 + MISC_EVENT;
441:
442: /**
443: * A component lost the focus.
444: */
445: public static final int LOST_FOCUS = 5 + MISC_EVENT;
446:
447: /**
448: * The target component. This indicates the component over which the
449: * event occurred or with which the event is associated.
450: * This object has been replaced by AWTEvent.getSource()
451: *
452: * @serial
453: * @see java.awt.AWTEvent#getSource()
454: */
455: public Object target;
456:
457: /**
458: * The time stamp.
459: * Replaced by InputEvent.getWhen().
460: *
461: * @serial
462: * @see java.awt.event.InputEvent#getWhen()
463: */
464: public long when;
465:
466: /**
467: * Indicates which type of event the event is, and which
468: * other <code>Event</code> variables are relevant for the event.
469: * This has been replaced by AWTEvent.getID()
470: *
471: * @serial
472: * @see java.awt.AWTEvent#getID()
473: */
474: public int id;
475:
476: /**
477: * The <i>x</i> coordinate of the event.
478: * Replaced by MouseEvent.getX()
479: *
480: * @serial
481: * @see java.awt.event.MouseEvent#getX()
482: */
483: public int x;
484:
485: /**
486: * The <i>y</i> coordinate of the event.
487: * Replaced by MouseEvent.getY()
488: *
489: * @serial
490: * @see java.awt.event.MouseEvent#getY()
491: */
492: public int y;
493:
494: /**
495: * The key code of the key that was pressed in a keyboard event.
496: * This has been replaced by KeyEvent.getKeyCode()
497: *
498: * @serial
499: * @see java.awt.event.KeyEvent#getKeyCode()
500: */
501: public int key;
502:
503: /**
504: * The key character that was pressed in a keyboard event.
505: */
506: // public char keyChar;
507: /**
508: * The state of the modifier keys.
509: * This is replaced with InputEvent.getModifiers()
510: * In java 1.1 MouseEvent and KeyEvent are subclasses
511: * of InputEvent.
512: *
513: * @serial
514: * @see java.awt.event.InputEvent#getModifiers()
515: */
516: public int modifiers;
517:
518: /**
519: * For <code>MOUSE_DOWN</code> events, this field indicates the
520: * number of consecutive clicks. For other events, its value is
521: * <code>0</code>.
522: * This field has been replaced by MouseEvent.getClickCount().
523: *
524: * @serial
525: * @see java.awt.event.MouseEvent#getClickCount().
526: */
527: public int clickCount;
528:
529: /**
530: * An arbitrary argument of the event. The value of this field
531: * depends on the type of event.
532: * <code>arg</code> has been replaced by event specific property.
533: *
534: * @serial
535: */
536: public Object arg;
537:
538: /**
539: * The next event. This field is set when putting events into a
540: * linked list.
541: * This has been replaced by EventQueue.
542: *
543: * @serial
544: * @see java.awt.EventQueue
545: */
546: public Event evt;
547:
548: /* table for mapping old Event action keys to KeyEvent virtual keys. */
549: private static final int actionKeyCodes[][] = {
550: /* virtual key action key */
551: { KeyEvent.VK_HOME, Event.HOME }, { KeyEvent.VK_END, Event.END },
552: { KeyEvent.VK_PAGE_UP, Event.PGUP },
553: { KeyEvent.VK_PAGE_DOWN, Event.PGDN },
554: { KeyEvent.VK_UP, Event.UP },
555: { KeyEvent.VK_DOWN, Event.DOWN },
556: { KeyEvent.VK_LEFT, Event.LEFT },
557: { KeyEvent.VK_RIGHT, Event.RIGHT },
558: { KeyEvent.VK_F1, Event.F1 }, { KeyEvent.VK_F2, Event.F2 },
559: { KeyEvent.VK_F3, Event.F3 }, { KeyEvent.VK_F4, Event.F4 },
560: { KeyEvent.VK_F5, Event.F5 }, { KeyEvent.VK_F6, Event.F6 },
561: { KeyEvent.VK_F7, Event.F7 }, { KeyEvent.VK_F8, Event.F8 },
562: { KeyEvent.VK_F9, Event.F9 },
563: { KeyEvent.VK_F10, Event.F10 },
564: { KeyEvent.VK_F11, Event.F11 },
565: { KeyEvent.VK_F12, Event.F12 },
566: { KeyEvent.VK_PRINTSCREEN, Event.PRINT_SCREEN },
567: { KeyEvent.VK_SCROLL_LOCK, Event.SCROLL_LOCK },
568: { KeyEvent.VK_CAPS_LOCK, Event.CAPS_LOCK },
569: { KeyEvent.VK_NUM_LOCK, Event.NUM_LOCK },
570: { KeyEvent.VK_PAUSE, Event.PAUSE },
571: { KeyEvent.VK_INSERT, Event.INSERT } };
572:
573: /**
574: * This field controls whether or not the event is sent back
575: * down to the peer once the target has processed it -
576: * false means it's sent to the peer, true means it's not.
577: *
578: * @serial
579: * @see #isConsumed()
580: */
581: private boolean consumed = false;
582:
583: /*
584: * JDK 1.1 serialVersionUID
585: */
586: private static final long serialVersionUID = 5488922509400504703L;
587:
588: static {
589: /* ensure that the necessary native libraries are loaded */
590: Toolkit.loadLibraries();
591: if (!GraphicsEnvironment.isHeadless()) {
592: initIDs();
593: }
594: }
595:
596: /**
597: * Initialize JNI field and method IDs for fields that may be
598: accessed from C.
599: */
600: private static native void initIDs();
601:
602: /**
603: * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
604: * available only for backwards compatilibility. It has been replaced
605: * by the <code>AWTEvent</code> class and its subclasses.
606: * <p>
607: * Creates an instance of <code>Event</code> with the specified target
608: * component, time stamp, event type, <i>x</i> and <i>y</i>
609: * coordinates, keyboard key, state of the modifier keys, and
610: * argument.
611: * @param target the target component.
612: * @param when the time stamp.
613: * @param id the event type.
614: * @param x the <i>x</i> coordinate.
615: * @param y the <i>y</i> coordinate.
616: * @param key the key pressed in a keyboard event.
617: * @param modifiers the state of the modifier keys.
618: * @param arg the specified argument.
619: */
620: public Event(Object target, long when, int id, int x, int y,
621: int key, int modifiers, Object arg) {
622: this .target = target;
623: this .when = when;
624: this .id = id;
625: this .x = x;
626: this .y = y;
627: this .key = key;
628: this .modifiers = modifiers;
629: this .arg = arg;
630: this .data = 0;
631: this .clickCount = 0;
632: switch (id) {
633: case ACTION_EVENT:
634: case WINDOW_DESTROY:
635: case WINDOW_ICONIFY:
636: case WINDOW_DEICONIFY:
637: case WINDOW_MOVED:
638: case SCROLL_LINE_UP:
639: case SCROLL_LINE_DOWN:
640: case SCROLL_PAGE_UP:
641: case SCROLL_PAGE_DOWN:
642: case SCROLL_ABSOLUTE:
643: case SCROLL_BEGIN:
644: case SCROLL_END:
645: case LIST_SELECT:
646: case LIST_DESELECT:
647: consumed = true; // these types are not passed back to peer
648: break;
649: default:
650: }
651: }
652:
653: /**
654: * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
655: * available only for backwards compatilibility. It has been replaced
656: * by the <code>AWTEvent</code> class and its subclasses.
657: * <p>
658: * Creates an instance of <code>Event</code>, with the specified target
659: * component, time stamp, event type, <i>x</i> and <i>y</i>
660: * coordinates, keyboard key, state of the modifier keys, and an
661: * argument set to <code>null</code>.
662: * @param target the target component.
663: * @param when the time stamp.
664: * @param id the event type.
665: * @param x the <i>x</i> coordinate.
666: * @param y the <i>y</i> coordinate.
667: * @param key the key pressed in a keyboard event.
668: * @param modifiers the state of the modifier keys.
669: */
670: public Event(Object target, long when, int id, int x, int y,
671: int key, int modifiers) {
672: this (target, when, id, x, y, key, modifiers, null);
673: }
674:
675: /**
676: * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
677: * available only for backwards compatilibility. It has been replaced
678: * by the <code>AWTEvent</code> class and its subclasses.
679: * <p>
680: * Creates an instance of <code>Event</code> with the specified
681: * target component, event type, and argument.
682: * @param target the target component.
683: * @param id the event type.
684: * @param arg the specified argument.
685: */
686: public Event(Object target, int id, Object arg) {
687: this (target, 0, id, 0, 0, 0, 0, arg);
688: }
689:
690: /**
691: * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
692: * available only for backwards compatilibility. It has been replaced
693: * by the <code>AWTEvent</code> class and its subclasses.
694: * <p>
695: * Translates this event so that its <i>x</i> and <i>y</i>
696: * coordinates are increased by <i>dx</i> and <i>dy</i>,
697: * respectively.
698: * <p>
699: * This method translates an event relative to the given component.
700: * This involves, at a minimum, translating the coordinates into the
701: * local coordinate system of the given component. It may also involve
702: * translating a region in the case of an expose event.
703: * @param dx the distance to translate the <i>x</i> coordinate.
704: * @param dy the distance to translate the <i>y</i> coordinate.
705: */
706: public void translate(int dx, int dy) {
707: this .x += dx;
708: this .y += dy;
709: }
710:
711: /**
712: * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
713: * available only for backwards compatilibility. It has been replaced
714: * by the <code>AWTEvent</code> class and its subclasses.
715: * <p>
716: * Checks if the Shift key is down.
717: * @return <code>true</code> if the key is down;
718: * <code>false</code> otherwise.
719: * @see java.awt.Event#modifiers
720: * @see java.awt.Event#controlDown
721: * @see java.awt.Event#metaDown
722: */
723: public boolean shiftDown() {
724: return (modifiers & SHIFT_MASK) != 0;
725: }
726:
727: /**
728: * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
729: * available only for backwards compatilibility. It has been replaced
730: * by the <code>AWTEvent</code> class and its subclasses.
731: * <p>
732: * Checks if the Control key is down.
733: * @return <code>true</code> if the key is down;
734: * <code>false</code> otherwise.
735: * @see java.awt.Event#modifiers
736: * @see java.awt.Event#shiftDown
737: * @see java.awt.Event#metaDown
738: */
739: public boolean controlDown() {
740: return (modifiers & CTRL_MASK) != 0;
741: }
742:
743: /**
744: * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
745: * available only for backwards compatilibility. It has been replaced
746: * by the <code>AWTEvent</code> class and its subclasses.
747: * <p>
748: * Checks if the Meta key is down.
749: *
750: * @return <code>true</code> if the key is down;
751: * <code>false</code> otherwise.
752: * @see java.awt.Event#modifiers
753: * @see java.awt.Event#shiftDown
754: * @see java.awt.Event#controlDown
755: */
756: public boolean metaDown() {
757: return (modifiers & META_MASK) != 0;
758: }
759:
760: /**
761: * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
762: * available only for backwards compatilibility. It has been replaced
763: * by the <code>AWTEvent</code> class and its subclasses.
764: */
765: void consume() {
766: switch (id) {
767: case KEY_PRESS:
768: case KEY_RELEASE:
769: case KEY_ACTION:
770: case KEY_ACTION_RELEASE:
771: consumed = true;
772: break;
773: default:
774: // event type cannot be consumed
775: }
776: }
777:
778: /**
779: * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
780: * available only for backwards compatilibility. It has been replaced
781: * by the <code>AWTEvent</code> class and its subclasses.
782: */
783: boolean isConsumed() {
784: return consumed;
785: }
786:
787: /*
788: * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
789: * available only for backwards compatilibility. It has been replaced
790: * by the <code>AWTEvent</code> class and its subclasses.
791: * <p>
792: * Returns the integer key-code associated with the key in this event,
793: * as described in java.awt.Event.
794: */
795: static int getOldEventKey(KeyEvent e) {
796: int keyCode = e.getKeyCode();
797: for (int i = 0; i < actionKeyCodes.length; i++) {
798: if (actionKeyCodes[i][0] == keyCode) {
799: return actionKeyCodes[i][1];
800: }
801: }
802: return (int) e.getKeyChar();
803: }
804:
805: /*
806: * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
807: * available only for backwards compatilibility. It has been replaced
808: * by the <code>AWTEvent</code> class and its subclasses.
809: * <p>
810: * Returns a new KeyEvent char which corresponds to the int key
811: * of this old event.
812: */
813: char getKeyEventChar() {
814: for (int i = 0; i < actionKeyCodes.length; i++) {
815: if (actionKeyCodes[i][1] == key) {
816: return KeyEvent.CHAR_UNDEFINED;
817: }
818: }
819: return (char) key;
820: }
821:
822: /**
823: * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
824: * available only for backwards compatilibility. It has been replaced
825: * by the <code>AWTEvent</code> class and its subclasses.
826: * <p>
827: * Returns a string representing the state of this <code>Event</code>.
828: * This method is intended to be used only for debugging purposes, and the
829: * content and format of the returned string may vary between
830: * implementations. The returned string may be empty but may not be
831: * <code>null</code>.
832: *
833: * @return the parameter string of this event
834: */
835: protected String paramString() {
836: String str = "id=" + id + ",x=" + x + ",y=" + y;
837: if (key != 0) {
838: str += ",key=" + key;
839: }
840: if (shiftDown()) {
841: str += ",shift";
842: }
843: if (controlDown()) {
844: str += ",control";
845: }
846: if (metaDown()) {
847: str += ",meta";
848: }
849: if (target != null) {
850: str += ",target=" + target;
851: }
852: if (arg != null) {
853: str += ",arg=" + arg;
854: }
855: return str;
856: }
857:
858: /**
859: * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
860: * available only for backwards compatilibility. It has been replaced
861: * by the <code>AWTEvent</code> class and its subclasses.
862: * <p>
863: * Returns a representation of this event's values as a string.
864: * @return a string that represents the event and the values
865: * of its member fields.
866: * @see java.awt.Event#paramString
867: * @since JDK1.1
868: */
869: public String toString() {
870: return getClass().getName() + "[" + paramString() + "]";
871: }
872: }
|