package com.ebenius;
import java.awt.AWTEvent;
import java.awt.GridLayout;
import java.awt.Point;
import java.awt.event.AWTEventListener;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import javax.swing.*;
public class ToolkitAWTListenerTestGUI {
public static void main(String[] args) {
final JPanel contentPane = new JPanel(new GridLayout(2, 2, 6, 6));
contentPane.add(new JTextField(15));
contentPane.add(new JButton("Hi"));
contentPane.add(new JSpinner(new SpinnerNumberModel()));
contentPane.add(new JComboBox(new String[] { "A", "B", "C" }));
final long eventMask =
AWTEvent.MOUSE_EVENT_MASK
| AWTEvent.MOUSE_MOTION_EVENT_MASK
| AWTEvent.KEY_EVENT_MASK;
contentPane.getToolkit().addAWTEventListener(new AWTEventListener() {
public void eventDispatched(AWTEvent event) {
final int id = event.getID();
if (id >= MouseEvent.MOUSE_FIRST && id <= MouseEvent.MOUSE_LAST) {
final Point point = ((MouseEvent) event).getLocationOnScreen();
System.out.println("Mouse: " + point.x + ":" + point.y);
} else if (id >= KeyEvent.KEY_FIRST && id <= KeyEvent.KEY_LAST) {
final KeyEvent keyEvent = (KeyEvent) event;
final int keyCode = keyEvent.getKeyCode();
System.out.println("Key: " + KeyEvent.getKeyText(keyCode));
}
}
}, eventMask);
final JFrame f = new JFrame("ToolkitAWTListenerTestGUI");
f.setContentPane(contentPane);
f.pack();
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
f.setVisible(true);
}
}