@@ -20,18 +20,105 @@ public class TrackEvent extends JFrame {
20
20
21
21
private HashMap <String , JTextField > h = new HashMap <String , JTextField >();
22
22
23
- private String [] = {
24
- "focusGained" , "focusLost" , "focusPressed " ,
23
+ private String [] event = {
24
+ "focusGained" , "focusLost" , "keyPressed " ,
25
25
"keyReleased" , "keyTyped" , "mouseClicked" ,
26
26
"mouseEntered" , "mouseExited" , "mousePressed" ,
27
27
"mouseReleased" , "mouseDragged" , "mouseMoved"
28
28
};
29
29
30
- public TrackEvent () {
30
+ private MyButton b1 = new MyButton (Color .BLUE , "test1" );
31
+ private MyButton b2 = new MyButton (Color .RED , "test2" );
32
+
33
+ class MyButton extends JButton {
31
34
35
+ void report (String field , String msg ) {
36
+ h .get (field ).setText (msg );
37
+ }
38
+
39
+ FocusListener fl = new FocusListener () {
40
+ public void focusGained (FocusEvent e ) {
41
+ report ("focusGained" , e .paramString ());
42
+ }
43
+
44
+ public void focusLost (FocusEvent e ) {
45
+ report ("focusLost" , e .paramString ());
46
+ }
47
+ };
48
+
49
+ KeyListener kl = new KeyListener () {
50
+ public void keyPressed (KeyEvent e ) {
51
+ report ("keyPressed" , e .paramString ());
52
+ }
53
+
54
+ public void keyReleased (KeyEvent e ) {
55
+ report ("keyReleased" , e .paramString ());
56
+ }
57
+
58
+ public void keyTyped (KeyEvent e ) {
59
+ report ("keyTyped" , e .paramString ());
60
+ }
61
+ };
62
+
63
+ MouseListener ml = new MouseListener () {
64
+ public void mouseClicked (MouseEvent e ) {
65
+ report ("mouseClicked" , e .paramString ());
66
+ }
67
+
68
+ public void mouseEntered (MouseEvent e ) {
69
+ report ("mouseEntered" , e .paramString ());
70
+ }
71
+
72
+ public void mouseExited (MouseEvent e ) {
73
+ report ("mouseExited" , e .paramString ());
74
+ }
75
+
76
+ public void mousePressed (MouseEvent e ) {
77
+ report ("mousePressed" , e .paramString ());
78
+ }
79
+
80
+ public void mouseReleased (MouseEvent e ) {
81
+ report ("mouseReleased" , e .paramString ());
82
+ }
83
+ };
84
+
85
+ MouseMotionListener mml = new MouseMotionListener () {
86
+ public void mouseDragged (MouseEvent e ) {
87
+ report ("mouseDragged" , e .paramString ());
88
+ }
89
+
90
+ public void mouseMoved (MouseEvent e ) {
91
+ report ("mouseMoved" , e .paramString ());
92
+ }
93
+ };
94
+
95
+ public MyButton (Color color , String label ) {
96
+ super (label );
97
+ setBackground (color );
98
+ addFocusListener (fl );
99
+ addKeyListener (kl );
100
+ addMouseListener (ml );
101
+ addMouseMotionListener (mml );
102
+ }
103
+
104
+ }
105
+
106
+ public TrackEvent () {
107
+ setLayout (new GridLayout (event .length + 1 , 2 ));
108
+ for (String evt : event ) {
109
+ JTextField t = new JTextField ();
110
+ t .setEditable (false );
111
+ add (new JLabel (evt , JLabel .RIGHT ));
112
+ add (t );
113
+ h .put (evt , t );
114
+ }
115
+
116
+ add (b1 );
117
+ add (b2 );
32
118
}
33
119
34
120
public static void main (String [] args ) {
35
- SwingConsole .run (new TrackEvent (), 300 , 400 ;
121
+ SwingConsole .run (new TrackEvent (), 700 , 500 );
122
+ // System.out.println("Hi");
36
123
}
37
124
}
0 commit comments