History

My first initial commit with all of mine experimental changes.

Dmitry Kabak (userdima committed 13 years ago

Commit d37b88d1 parent 3f5b46618352 files · +2598093 −-8690Browse files

Showing the changes to java/pkg/java/awt/Event.java (1 of 18352 files). Show all

Unified · Split

java/pkg/java/awt/Event.java+879−0
@@ -0,0 +1,879 @@
1+/*
2+ * Copyright (c) 1995, 2002, Oracle and/or its affiliates. All rights reserved.
3+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4+ *
5+ * This code is free software; you can redistribute it and/or modify it
6+ * under the terms of the GNU General Public License version 2 only, as
7+ * published by the Free Software Foundation. Oracle designates this
8+ * particular file as subject to the "Classpath" exception as provided
9+ * by Oracle in the LICENSE file that accompanied this code.
10+ *
11+ * This code is distributed in the hope that it will be useful, but WITHOUT
12+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14+ * version 2 for more details (a copy is included in the LICENSE file that
15+ * accompanied this code).
16+ *
17+ * You should have received a copy of the GNU General Public License version
18+ * 2 along with this work; if not, write to the Free Software Foundation,
19+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20+ *
21+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22+ * or visit www.oracle.com if you need additional information or have any
23+ * questions.
24+ */
25+package java.awt;
26+
27+import java.awt.event.*;
28+import java.io.*;
29+
30+/**
31+ * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
32+ * available only for backwards compatilibility. It has been replaced
33+ * by the <code>AWTEvent</code> class and its subclasses.
34+ * <p>
35+ * <code>Event</code> is a platform-independent class that
36+ * encapsulates events from the platform's Graphical User
37+ * Interface in the Java&nbsp;1.0 event model. In Java&nbsp;1.1
38+ * and later versions, the <code>Event</code> class is maintained
39+ * only for backwards compatibilty. The information in this
40+ * class description is provided to assist programmers in
41+ * converting Java&nbsp;1.0 programs to the new event model.
42+ * <p>
43+ * In the Java&nbsp;1.0 event model, an event contains an
44+ * {@link Event#id} field
45+ * that indicates what type of event it is and which other
46+ * <code>Event</code> variables are relevant for the event.
47+ * <p>
48+ * For keyboard events, {@link Event#key}
49+ * contains a value indicating which key was activated, and
50+ * {@link Event#modifiers} contains the
51+ * modifiers for that event. For the KEY_PRESS and KEY_RELEASE
52+ * event ids, the value of <code>key</code> is the unicode
53+ * character code for the key. For KEY_ACTION and
54+ * KEY_ACTION_RELEASE, the value of <code>key</code> is
55+ * one of the defined action-key identifiers in the
56+ * <code>Event</code> class (<code>PGUP</code>,
57+ * <code>PGDN</code>, <code>F1</code>, <code>F2</code>, etc).
58+ *
59+ * @author Sami Shaio
60+ * @since JDK1.0
61+ */
62+public class Event implements java.io.Serializable {
63+ private transient long data;
64+
65+ /* Modifier constants */
66+
67+ /**
68+ * This flag indicates that the Shift key was down when the event
69+ * occurred.
70+ */
71+ public static final int SHIFT_MASK = 1 << 0;
72+
73+ /**
74+ * This flag indicates that the Control key was down when the event
75+ * occurred.
76+ */
77+ public static final int CTRL_MASK = 1 << 1;
78+
79+ /**
80+ * This flag indicates that the Meta key was down when the event
81+ * occurred. For mouse events, this flag indicates that the right
82+ * button was pressed or released.
83+ */
84+ public static final int META_MASK = 1 << 2;
85+
86+ /**
87+ * This flag indicates that the Alt key was down when
88+ * the event occurred. For mouse events, this flag indicates that the
89+ * middle mouse button was pressed or released.
90+ */
91+ public static final int ALT_MASK = 1 << 3;
92+
93+ /* Action keys */
94+
95+ /**
96+ * The Home key, a non-ASCII action key.
97+ */
98+ public static final int HOME = 1000;
99+
100+ /**
101+ * The End key, a non-ASCII action key.
102+ */
103+ public static final int END = 1001;
104+
105+ /**
106+ * The Page Up key, a non-ASCII action key.
107+ */
108+ public static final int PGUP = 1002;
109+
110+ /**
111+ * The Page Down key, a non-ASCII action key.
112+ */
113+ public static final int PGDN = 1003;
114+
115+ /**
116+ * The Up Arrow key, a non-ASCII action key.
117+ */
118+ public static final int UP = 1004;
119+
120+ /**
121+ * The Down Arrow key, a non-ASCII action key.
122+ */
123+ public static final int DOWN = 1005;
124+
125+ /**
126+ * The Left Arrow key, a non-ASCII action key.
127+ */
128+ public static final int LEFT = 1006;
129+
130+ /**
131+ * The Right Arrow key, a non-ASCII action key.
132+ */
133+ public static final int RIGHT = 1007;
134+
135+ /**
136+ * The F1 function key, a non-ASCII action key.
137+ */
138+ public static final int F1 = 1008;
139+
140+ /**
141+ * The F2 function key, a non-ASCII action key.
142+ */
143+ public static final int F2 = 1009;
144+
145+ /**
146+ * The F3 function key, a non-ASCII action key.
147+ */
148+ public static final int F3 = 1010;
149+
150+ /**
151+ * The F4 function key, a non-ASCII action key.
152+ */
153+ public static final int F4 = 1011;
154+
155+ /**
156+ * The F5 function key, a non-ASCII action key.
157+ */
158+ public static final int F5 = 1012;
159+
160+ /**
161+ * The F6 function key, a non-ASCII action key.
162+ */
163+ public static final int F6 = 1013;
164+
165+ /**
166+ * The F7 function key, a non-ASCII action key.
167+ */
168+ public static final int F7 = 1014;
169+
170+ /**
171+ * The F8 function key, a non-ASCII action key.
172+ */
173+ public static final int F8 = 1015;
174+
175+ /**
176+ * The F9 function key, a non-ASCII action key.
177+ */
178+ public static final int F9 = 1016;
179+
180+ /**
181+ * The F10 function key, a non-ASCII action key.
182+ */
183+ public static final int F10 = 1017;
184+
185+ /**
186+ * The F11 function key, a non-ASCII action key.
187+ */
188+ public static final int F11 = 1018;
189+
190+ /**
191+ * The F12 function key, a non-ASCII action key.
192+ */
193+ public static final int F12 = 1019;
194+
195+ /**
196+ * The Print Screen key, a non-ASCII action key.
197+ */
198+ public static final int PRINT_SCREEN = 1020;
199+
200+ /**
201+ * The Scroll Lock key, a non-ASCII action key.
202+ */
203+ public static final int SCROLL_LOCK = 1021;
204+
205+ /**
206+ * The Caps Lock key, a non-ASCII action key.
207+ */
208+ public static final int CAPS_LOCK = 1022;
209+
210+ /**
211+ * The Num Lock key, a non-ASCII action key.
212+ */
213+ public static final int NUM_LOCK = 1023;
214+
215+ /**
216+ * The Pause key, a non-ASCII action key.
217+ */
218+ public static final int PAUSE = 1024;
219+
220+ /**
221+ * The Insert key, a non-ASCII action key.
222+ */
223+ public static final int INSERT = 1025;
224+
225+ /* Non-action keys */
226+
227+ /**
228+ * The Enter key.
229+ */
230+ public static final int ENTER = '\n';
231+
232+ /**
233+ * The BackSpace key.
234+ */
235+ public static final int BACK_SPACE = '\b';
236+
237+ /**
238+ * The Tab key.
239+ */
240+ public static final int TAB = '\t';
241+
242+ /**
243+ * The Escape key.
244+ */
245+ public static final int ESCAPE = 27;
246+
247+ /**
248+ * The Delete key.
249+ */
250+ public static final int DELETE = 127;
251+
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+
363+ /* Scrolling events */
364+ private static final int SCROLL_EVENT = 600;
365+
366+ /**
367+ * The user has activated the <em>line up</em>
368+ * area of a scroll bar.
369+ */
370+ public static final int SCROLL_LINE_UP = 1 + SCROLL_EVENT;
371+
372+ /**
373+ * The user has activated the <em>line down</em>
374+ * area of a scroll bar.
375+ */
376+ public static final int SCROLL_LINE_DOWN = 2 + SCROLL_EVENT;
377+
378+ /**
379+ * The user has activated the <em>page up</em>
380+ * area of a scroll bar.
381+ */
382+ public static final int SCROLL_PAGE_UP = 3 + SCROLL_EVENT;
383+
384+ /**
385+ * The user has activated the <em>page down</em>
386+ * area of a scroll bar.
387+ */
388+ public static final int SCROLL_PAGE_DOWN = 4 + SCROLL_EVENT;
389+
390+ /**
391+ * The user has moved the bubble (thumb) in a scroll bar,
392+ * moving to an "absolute" position, rather than to
393+ * an offset from the last postion.
394+ */
395+ public static final int SCROLL_ABSOLUTE = 5 + SCROLL_EVENT;
396+
397+ /**
398+ * The scroll begin event.
399+ */
400+ public static final int SCROLL_BEGIN = 6 + SCROLL_EVENT;
401+
402+ /**
403+ * The scroll end event.
404+ */
405+ public static final int SCROLL_END = 7 + SCROLL_EVENT;
406+
407+ /* List Events */
408+ private static final int LIST_EVENT = 700;
409+
410+ /**
411+ * An item in a list has been selected.
412+ */
413+ public static final int LIST_SELECT = 1 + LIST_EVENT;
414+
415+ /**
416+ * An item in a list has been deselected.
417+ */
418+ public static final int LIST_DESELECT = 2 + LIST_EVENT;
419+
420+ /* Misc Event */
421+ private static final int MISC_EVENT = 1000;
422+
423+ /**
424+ * This event indicates that the user wants some action to occur.
425+ */
426+ public static final int ACTION_EVENT = 1 + MISC_EVENT;
427+
428+ /**
429+ * A file loading event.
430+ */
431+ public static final int LOAD_FILE = 2 + MISC_EVENT;
432+
433+ /**
434+ * A file saving event.
435+ */
436+ public static final int SAVE_FILE = 3 + MISC_EVENT;
437+
438+ /**
439+ * A component gained the focus.
440+ */
441+ public static final int GOT_FOCUS = 4 + MISC_EVENT;
442+
443+ /**
444+ * A component lost the focus.
445+ */
446+ public static final int LOST_FOCUS = 5 + MISC_EVENT;
447+
448+ /**
449+ * The target component. This indicates the component over which the
450+ * event occurred or with which the event is associated.
451+ * This object has been replaced by AWTEvent.getSource()
452+ *
453+ * @serial
454+ * @see java.awt.AWTEvent#getSource()
455+ */
456+ public Object target;
457+
458+ /**
459+ * The time stamp.
460+ * Replaced by InputEvent.getWhen().
461+ *
462+ * @serial
463+ * @see java.awt.event.InputEvent#getWhen()
464+ */
465+ public long when;
466+
467+ /**
468+ * Indicates which type of event the event is, and which
469+ * other <code>Event</code> variables are relevant for the event.
470+ * This has been replaced by AWTEvent.getID()
471+ *
472+ * @serial
473+ * @see java.awt.AWTEvent#getID()
474+ */
475+ public int id;
476+
477+ /**
478+ * The <i>x</i> coordinate of the event.
479+ * Replaced by MouseEvent.getX()
480+ *
481+ * @serial
482+ * @see java.awt.event.MouseEvent#getX()
483+ */
484+ public int x;
485+
486+ /**
487+ * The <i>y</i> coordinate of the event.
488+ * Replaced by MouseEvent.getY()
489+ *
490+ * @serial
491+ * @see java.awt.event.MouseEvent#getY()
492+ */
493+ public int y;
494+
495+ /**
496+ * The key code of the key that was pressed in a keyboard event.
497+ * This has been replaced by KeyEvent.getKeyCode()
498+ *
499+ * @serial
500+ * @see java.awt.event.KeyEvent#getKeyCode()
501+ */
502+ public int key;
503+
504+ /**
505+ * The key character that was pressed in a keyboard event.
506+ */
507+// public char keyChar;
508+
509+ /**
510+ * The state of the modifier keys.
511+ * This is replaced with InputEvent.getModifiers()
512+ * In java 1.1 MouseEvent and KeyEvent are subclasses
513+ * of InputEvent.
514+ *
515+ * @serial
516+ * @see java.awt.event.InputEvent#getModifiers()
517+ */
518+ public int modifiers;
519+
520+ /**
521+ * For <code>MOUSE_DOWN</code> events, this field indicates the
522+ * number of consecutive clicks. For other events, its value is
523+ * <code>0</code>.
524+ * This field has been replaced by MouseEvent.getClickCount().
525+ *
526+ * @serial
527+ * @see java.awt.event.MouseEvent#getClickCount().
528+ */
529+ public int clickCount;
530+
531+ /**
532+ * An arbitrary argument of the event. The value of this field
533+ * depends on the type of event.
534+ * <code>arg</code> has been replaced by event specific property.
535+ *
536+ * @serial
537+ */
538+ public Object arg;
539+
540+ /**
541+ * The next event. This field is set when putting events into a
542+ * linked list.
543+ * This has been replaced by EventQueue.
544+ *
545+ * @serial
546+ * @see java.awt.EventQueue
547+ */
548+ public Event evt;
549+
550+ /* table for mapping old Event action keys to KeyEvent virtual keys. */
551+ private static final int actionKeyCodes[][] = {
552+ /* virtual key action key */
553+ { KeyEvent.VK_HOME, Event.HOME },
554+ { KeyEvent.VK_END, Event.END },
555+ { KeyEvent.VK_PAGE_UP, Event.PGUP },
556+ { KeyEvent.VK_PAGE_DOWN, Event.PGDN },
557+ { KeyEvent.VK_UP, Event.UP },
558+ { KeyEvent.VK_DOWN, Event.DOWN },
559+ { KeyEvent.VK_LEFT, Event.LEFT },
560+ { KeyEvent.VK_RIGHT, Event.RIGHT },
561+ { KeyEvent.VK_F1, Event.F1 },
562+ { KeyEvent.VK_F2, Event.F2 },
563+ { KeyEvent.VK_F3, Event.F3 },
564+ { KeyEvent.VK_F4, Event.F4 },
565+ { KeyEvent.VK_F5, Event.F5 },
566+ { KeyEvent.VK_F6, Event.F6 },
567+ { KeyEvent.VK_F7, Event.F7 },
568+ { KeyEvent.VK_F8, Event.F8 },
569+ { KeyEvent.VK_F9, Event.F9 },
570+ { KeyEvent.VK_F10, Event.F10 },
571+ { KeyEvent.VK_F11, Event.F11 },
572+ { KeyEvent.VK_F12, Event.F12 },
573+ { KeyEvent.VK_PRINTSCREEN, Event.PRINT_SCREEN },
574+ { KeyEvent.VK_SCROLL_LOCK, Event.SCROLL_LOCK },
575+ { KeyEvent.VK_CAPS_LOCK, Event.CAPS_LOCK },
576+ { KeyEvent.VK_NUM_LOCK, Event.NUM_LOCK },
577+ { KeyEvent.VK_PAUSE, Event.PAUSE },
578+ { KeyEvent.VK_INSERT, Event.INSERT }
579+ };
580+
581+ /**
582+ * This field controls whether or not the event is sent back
583+ * down to the peer once the target has processed it -
584+ * false means it's sent to the peer, true means it's not.
585+ *
586+ * @serial
587+ * @see #isConsumed()
588+ */
589+ private boolean consumed = false;
590+
591+ /*
592+ * JDK 1.1 serialVersionUID
593+ */
594+ private static final long serialVersionUID = 5488922509400504703L;
595+
596+ static {
597+ /* ensure that the necessary native libraries are loaded */
598+ Toolkit.loadLibraries();
599+ if (!GraphicsEnvironment.isHeadless()) {
600+ initIDs();
601+ }
602+ }
603+
604+ /**
605+ * Initialize JNI field and method IDs for fields that may be
606+ accessed from C.
607+ */
608+ private static native void initIDs();
609+
610+ /**
611+ * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
612+ * available only for backwards compatilibility. It has been replaced
613+ * by the <code>AWTEvent</code> class and its subclasses.
614+ * <p>
615+ * Creates an instance of <code>Event</code> with the specified target
616+ * component, time stamp, event type, <i>x</i> and <i>y</i>
617+ * coordinates, keyboard key, state of the modifier keys, and
618+ * argument.
619+ * @param target the target component.
620+ * @param when the time stamp.
621+ * @param id the event type.
622+ * @param x the <i>x</i> coordinate.
623+ * @param y the <i>y</i> coordinate.
624+ * @param key the key pressed in a keyboard event.
625+ * @param modifiers the state of the modifier keys.
626+ * @param arg the specified argument.
627+ */
628+ public Event(Object target, long when, int id, int x, int y, int key,
629+ int modifiers, Object arg) {
630+ this.target = target;
631+ this.when = when;
632+ this.id = id;
633+ this.x = x;
634+ this.y = y;
635+ this.key = key;
636+ this.modifiers = modifiers;
637+ this.arg = arg;
638+ this.data = 0;
639+ this.clickCount = 0;
640+ switch(id) {
641+ case ACTION_EVENT:
642+ case WINDOW_DESTROY:
643+ case WINDOW_ICONIFY:
644+ case WINDOW_DEICONIFY:
645+ case WINDOW_MOVED:
646+ case SCROLL_LINE_UP:
647+ case SCROLL_LINE_DOWN:
648+ case SCROLL_PAGE_UP:
649+ case SCROLL_PAGE_DOWN:
650+ case SCROLL_ABSOLUTE:
651+ case SCROLL_BEGIN:
652+ case SCROLL_END:
653+ case LIST_SELECT:
654+ case LIST_DESELECT:
655+ consumed = true; // these types are not passed back to peer
656+ break;
657+ default:
658+ }
659+ }
660+
661+ /**
662+ * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
663+ * available only for backwards compatilibility. It has been replaced
664+ * by the <code>AWTEvent</code> class and its subclasses.
665+ * <p>
666+ * Creates an instance of <code>Event</code>, with the specified target
667+ * component, time stamp, event type, <i>x</i> and <i>y</i>
668+ * coordinates, keyboard key, state of the modifier keys, and an
669+ * argument set to <code>null</code>.
670+ * @param target the target component.
671+ * @param when the time stamp.
672+ * @param id the event type.
673+ * @param x the <i>x</i> coordinate.
674+ * @param y the <i>y</i> coordinate.
675+ * @param key the key pressed in a keyboard event.
676+ * @param modifiers the state of the modifier keys.
677+ */
678+ public Event(Object target, long when, int id, int x, int y, int key, int modifiers) {
679+ this(target, when, id, x, y, key, modifiers, null);
680+ }
681+
682+ /**
683+ * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
684+ * available only for backwards compatilibility. It has been replaced
685+ * by the <code>AWTEvent</code> class and its subclasses.
686+ * <p>
687+ * Creates an instance of <code>Event</code> with the specified
688+ * target component, event type, and argument.
689+ * @param target the target component.
690+ * @param id the event type.
691+ * @param arg the specified argument.
692+ */
693+ public Event(Object target, int id, Object arg) {
694+ this(target, 0, id, 0, 0, 0, 0, arg);
695+ }
696+
697+ /**
698+ * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
699+ * available only for backwards compatilibility. It has been replaced
700+ * by the <code>AWTEvent</code> class and its subclasses.
701+ * <p>
702+ * Translates this event so that its <i>x</i> and <i>y</i>
703+ * coordinates are increased by <i>dx</i> and <i>dy</i>,
704+ * respectively.
705+ * <p>
706+ * This method translates an event relative to the given component.
707+ * This involves, at a minimum, translating the coordinates into the
708+ * local coordinate system of the given component. It may also involve
709+ * translating a region in the case of an expose event.
710+ * @param dx the distance to translate the <i>x</i> coordinate.
711+ * @param dy the distance to translate the <i>y</i> coordinate.
712+ */
713+ public void translate(int dx, int dy) {
714+ this.x += dx;
715+ this.y += dy;
716+ }
717+
718+ /**
719+ * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
720+ * available only for backwards compatilibility. It has been replaced
721+ * by the <code>AWTEvent</code> class and its subclasses.
722+ * <p>
723+ * Checks if the Shift key is down.
724+ * @return <code>true</code> if the key is down;
725+ * <code>false</code> otherwise.
726+ * @see java.awt.Event#modifiers
727+ * @see java.awt.Event#controlDown
728+ * @see java.awt.Event#metaDown
729+ */
730+ public boolean shiftDown() {
731+ return (modifiers & SHIFT_MASK) != 0;
732+ }
733+
734+ /**
735+ * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
736+ * available only for backwards compatilibility. It has been replaced
737+ * by the <code>AWTEvent</code> class and its subclasses.
738+ * <p>
739+ * Checks if the Control key is down.
740+ * @return <code>true</code> if the key is down;
741+ * <code>false</code> otherwise.
742+ * @see java.awt.Event#modifiers
743+ * @see java.awt.Event#shiftDown
744+ * @see java.awt.Event#metaDown
745+ */
746+ public boolean controlDown() {
747+ return (modifiers & CTRL_MASK) != 0;
748+ }
749+
750+ /**
751+ * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
752+ * available only for backwards compatilibility. It has been replaced
753+ * by the <code>AWTEvent</code> class and its subclasses.
754+ * <p>
755+ * Checks if the Meta key is down.
756+ *
757+ * @return <code>true</code> if the key is down;
758+ * <code>false</code> otherwise.
759+ * @see java.awt.Event#modifiers
760+ * @see java.awt.Event#shiftDown
761+ * @see java.awt.Event#controlDown
762+ */
763+ public boolean metaDown() {
764+ return (modifiers & META_MASK) != 0;
765+ }
766+
767+ /**
768+ * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
769+ * available only for backwards compatilibility. It has been replaced
770+ * by the <code>AWTEvent</code> class and its subclasses.
771+ */
772+ void consume() {
773+ switch(id) {
774+ case KEY_PRESS:
775+ case KEY_RELEASE:
776+ case KEY_ACTION:
777+ case KEY_ACTION_RELEASE:
778+ consumed = true;
779+ break;
780+ default:
781+ // event type cannot be consumed
782+ }
783+ }
784+
785+ /**
786+ * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
787+ * available only for backwards compatilibility. It has been replaced
788+ * by the <code>AWTEvent</code> class and its subclasses.
789+ */
790+ boolean isConsumed() {
791+ return consumed;
792+ }
793+
794+ /*
795+ * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
796+ * available only for backwards compatilibility. It has been replaced
797+ * by the <code>AWTEvent</code> class and its subclasses.
798+ * <p>
799+ * Returns the integer key-code associated with the key in this event,
800+ * as described in java.awt.Event.
801+ */
802+ static int getOldEventKey(KeyEvent e) {
803+ int keyCode = e.getKeyCode();
804+ for (int i = 0; i < actionKeyCodes.length; i++) {
805+ if (actionKeyCodes[i][0] == keyCode) {
806+ return actionKeyCodes[i][1];
807+ }
808+ }
809+ return (int)e.getKeyChar();
810+ }
811+
812+ /*
813+ * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
814+ * available only for backwards compatilibility. It has been replaced
815+ * by the <code>AWTEvent</code> class and its subclasses.
816+ * <p>
817+ * Returns a new KeyEvent char which corresponds to the int key
818+ * of this old event.
819+ */
820+ char getKeyEventChar() {
821+ for (int i = 0; i < actionKeyCodes.length; i++) {
822+ if (actionKeyCodes[i][1] == key) {
823+ return KeyEvent.CHAR_UNDEFINED;
824+ }
825+ }
826+ return (char)key;
827+ }
828+
829+ /**
830+ * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
831+ * available only for backwards compatilibility. It has been replaced
832+ * by the <code>AWTEvent</code> class and its subclasses.
833+ * <p>
834+ * Returns a string representing the state of this <code>Event</code>.
835+ * This method is intended to be used only for debugging purposes, and the
836+ * content and format of the returned string may vary between
837+ * implementations. The returned string may be empty but may not be
838+ * <code>null</code>.
839+ *
840+ * @return the parameter string of this event
841+ */
842+ protected String paramString() {
843+ String str = "id=" + id + ",x=" + x + ",y=" + y;
844+ if (key != 0) {
845+ str += ",key=" + key;
846+ }
847+ if (shiftDown()) {
848+ str += ",shift";
849+ }
850+ if (controlDown()) {
851+ str += ",control";
852+ }
853+ if (metaDown()) {
854+ str += ",meta";
855+ }
856+ if (target != null) {
857+ str += ",target=" + target;
858+ }
859+ if (arg != null) {
860+ str += ",arg=" + arg;
861+ }
862+ return str;
863+ }
864+
865+ /**
866+ * <b>NOTE:</b> The <code>Event</code> class is obsolete and is
867+ * available only for backwards compatilibility. It has been replaced
868+ * by the <code>AWTEvent</code> class and its subclasses.
869+ * <p>
870+ * Returns a representation of this event's values as a string.
871+ * @return a string that represents the event and the values
872+ * of its member fields.
873+ * @see java.awt.Event#paramString
874+ * @since JDK1.1
875+ */
876+ public String toString() {
877+ return getClass().getName() + "[" + paramString() + "]";
878+ }
879+}