/** * Summarizes information about a recorded mouse or keyboard event. */ package examples; import java.awt.Component; import java.awt.Point; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; import java.awt.event.MouseWheelEvent; import java.io.Serializable; import javax.swing.SwingUtilities; class EventInfo implements Serializable { private static final long serialVersionUID = 1L; long time; int id, buttons, wheelAmt, keyCode; Point point; EventInfo(InputEvent event, Component reference) { time = event.getWhen(); id = event.getID(); if (event instanceof MouseEvent) { MouseEvent me = (MouseEvent) event; point = SwingUtilities.convertPoint(me.getComponent(), me.getPoint(), reference); buttons = me.getModifiers(); if (event instanceof MouseWheelEvent) wheelAmt = ((MouseWheelEvent) event).getScrollAmount(); } else if (event instanceof KeyEvent) { keyCode = ((KeyEvent) event).getKeyCode(); } } }