|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.actor.lib.gui.ArrowKeySensor
public class 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 fireAt() method with the current time as argument. This causes the director to call fire() on the actor with the first valid time equal to the current time or later. The actor then broadcasts tokens from one or both outputs depending on which keystroke(s) have occurred since the actor was last fired. On key pressed a one will be send, on key release a zero will be send.
Red (winthrop) |
Red (winthrop) |
Nested Class Summary | |
---|---|
private static class |
ArrowKeySensor.ActionListenerExceptionCatcher
|
private class |
ArrowKeySensor.MyFrame
|
Nested classes/interfaces inherited from class ptolemy.kernel.Entity |
---|
Entity.ContainedObjectsIterator |
Field Summary | |
---|---|
protected boolean |
_downKeyPressed
A flag indicating if the down arrow key has been pressed since the last firing of the actor. |
protected boolean |
_downKeyReleased
A flag indicating if the down arrow key has been released since the last firing of the actor. |
protected boolean |
_leftKeyPressed
A flag indicating if the left arrow key has been released since the last firing of the actor. |
protected boolean |
_leftKeyReleased
A flag indicating if the left arrow key has been released since the last firing of the actor. |
private ArrowKeySensor.MyFrame |
_myFrame
The JFrame that contains the arrow keys. |
protected boolean |
_rightKeyPressed
A flag indicating if the right arrow key has been pressed since the last firing of the actor. |
protected boolean |
_rightKeyReleased
A flag indicating if the right arrow key has been released since the last firing of the actor. |
protected boolean |
_upKeyPressed
A flag indicating if the up arrow key has been pressed since the last firing of the actor. |
protected boolean |
_upKeyReleased
A flag indicating if the up arrow key has been released since the last firing of the actor. |
TypedIOPort |
downArrow
Output port, which has type IntToken. |
TypedIOPort |
leftArrow
Output port, which has type IntToken. |
TypedIOPort |
rightArrow
Output port, which has type IntToken. |
TypedIOPort |
upArrow
Output port, which has type IntToken. |
Fields inherited from class ptolemy.actor.AtomicActor |
---|
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested |
Fields inherited from class ptolemy.kernel.util.NamedObj |
---|
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Fields inherited from interface ptolemy.actor.Executable |
---|
COMPLETED, NOT_READY, STOP_ITERATING |
Constructor Summary | |
---|---|
ArrowKeySensor(CompositeEntity container,
java.lang.String name)
Construct an actor with the given container and name. |
Method Summary | |
---|---|
void |
fire()
Broadcast the integer value 1 for each key pressed and 0 for each released. |
void |
initialize()
Create the JFrame window capable of detecting the key-presses. |
void |
wrapup()
Dispose of the JFrame, causing the window to vanish. |
Methods inherited from class ptolemy.actor.TypedAtomicActor |
---|
_addPort, _fireAt, _fireAt, attributeTypeChanged, clone, newPort, typeConstraintList, typeConstraints |
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.InstantiableNamedObj |
---|
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface ptolemy.actor.Actor |
---|
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList |
Methods inherited from interface ptolemy.actor.Executable |
---|
isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate |
Methods inherited from interface ptolemy.actor.Initializable |
---|
addInitializable, preinitialize, removeInitializable |
Methods inherited from interface ptolemy.kernel.util.Nameable |
---|
description, getContainer, getDisplayName, getFullName, getName, getName, setName |
Methods inherited from interface ptolemy.kernel.util.Derivable |
---|
getDerivedLevel, getDerivedList, propagateValue |
Field Detail |
---|
public TypedIOPort upArrow
public TypedIOPort leftArrow
public TypedIOPort rightArrow
public TypedIOPort downArrow
protected boolean _downKeyPressed
protected boolean _downKeyReleased
protected boolean _leftKeyPressed
protected boolean _leftKeyReleased
protected boolean _rightKeyPressed
protected boolean _rightKeyReleased
protected boolean _upKeyPressed
protected boolean _upKeyReleased
private ArrowKeySensor.MyFrame _myFrame
Constructor Detail |
---|
public ArrowKeySensor(CompositeEntity container, java.lang.String name) throws NameDuplicationException, IllegalActionException
container
- The container.name
- The name of this actor.
IllegalActionException
- If the actor cannot be contained
by the proposed container.
NameDuplicationException
- If the container already has an
actor with this name.Method Detail |
---|
public void fire() throws IllegalActionException
fire
in interface Executable
fire
in class AtomicActor
IllegalActionException
- Not thrown in this base class.public void initialize()
initialize
in interface Initializable
initialize
in class AtomicActor
public void wrapup()
wrapup
in interface Initializable
wrapup
in class AtomicActor
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |