Class ArrowKeyProbe

  • All Implemented Interfaces:
    java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable

    public class ArrowKeyProbe
    extends ArrowKeySensor
    Detect when the user presses or releases an arrow key and produce an integer on the corresponding output.

    When this actor is preinitialized, it pops up a new JFrame window on the desktop, usually in the upper left hand corner of the screen. When this JFrame has the focus (such as when it has been clicked on) it is capable of sensing keystrokes.

    This actor senses only the four non-numeric-pad arrow-key keystrokes. This actor responds to key releases as well as key presses. Upon each key press, the integer 1 is broadcast from the corresponding output. Upon each key release, the integer 0 is output.

    This actor contains a private inner class which generated the JFrame. The frame sets up call-backs which react to the keystrokes. When called, these call the director's fireAtCurrentTime() method. This causes the director to call fire() on the actor. The actor then broadcasts tokens from one or both outputs depending on which keystroke(s) have occurred since the actor was last fired.

    NOTE: This actor only works in the DE domain due to its reliance on this director's fireAtCurrentTime() method.

    Since:
    Ptolemy II 8.0
    Version:
    $Id$
    Author:
    Winthrop Williams
    Pt.AcceptedRating:
    Red (winthrop)
    Pt.ProposedRating:
    Red (winthrop)