ptolemy.actor.lib.gui
Class ArrowKeyProbe
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.actor.lib.gui.ArrowKeySensor
ptolemy.actor.lib.gui.ArrowKeyProbe
- All Implemented Interfaces:
- java.io.Serializable, 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: ArrowKeyProbe.java 57044 2010-01-27 22:41:05Z cxh $
- Author:
- Winthrop Williams
- See Also:
- Serialized Form
- Accepted Rating:
- Proposed Rating:
Fields inherited from class ptolemy.actor.lib.gui.ArrowKeySensor |
_downKeyPressed, _downKeyReleased, _leftKeyPressed, _leftKeyReleased, _rightKeyPressed, _rightKeyReleased, _upKeyPressed, _upKeyReleased, downArrow, leftArrow, rightArrow, upArrow |
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Constructor Summary |
ArrowKeyProbe(CompositeEntity container,
java.lang.String name)
Create an actor that detects user presses on the arrow key. |
Method Summary |
void |
fire()
Broadcast the integer value 1 for each key pressed and 0 for
each released. |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, clone, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate |
Methods inherited from class ptolemy.kernel.ComponentEntity |
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName |
Methods inherited from class ptolemy.kernel.Entity |
_description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName |
Methods inherited from class ptolemy.kernel.util.NamedObj |
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeChanged, attributeList, attributeList, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
ArrowKeyProbe
public ArrowKeyProbe(CompositeEntity container,
java.lang.String name)
throws NameDuplicationException,
IllegalActionException
- Create an actor that detects user presses on the arrow key.
- Parameters:
container
- The container for this actor.name
- The name of this actor
- Throws:
IllegalActionException
- If the actor cannot be contained
by the proposed container.
NameDuplicationException
- If the container already has an
actor with this name.
fire
public void fire()
throws IllegalActionException
- Broadcast the integer value 1 for each key pressed and 0 for
each released.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class ArrowKeySensor
- Throws:
IllegalActionException
- Not thrown in this base class.