Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-multiarch-jdk8u
Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/src/share/classes/java/awt/Event.java
38829 views
1
/*
2
* Copyright (c) 1995, 2013, 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 compatibility. 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 compatibility. 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 position.
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 compatibility. 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 compatibility. 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 compatibility. 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 compatibility. 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 compatibility. 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 compatibility. 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 compatibility. 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 compatibility. 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 compatibility. 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 compatibility. 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 compatibility. 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 compatibility. 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 compatibility. 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
}
880
881