Class MouseBehavior
java.lang.Object
javax.media.j3d.SceneGraphObject
javax.media.j3d.Node
javax.media.j3d.Leaf
javax.media.j3d.Behavior
com.sun.j3d.utils.behaviors.mouse.MouseBehavior
- All Implemented Interfaces:
MouseListener
,MouseMotionListener
,MouseWheelListener
,EventListener
- Direct Known Subclasses:
MouseRotate
,MouseTranslate
,MouseWheelZoom
,MouseZoom
public abstract class MouseBehavior
extends Behavior
implements MouseListener, MouseMotionListener, MouseWheelListener
Base class for all mouse manipulators (see MouseRotate, MouseZoom
and MouseTranslate for
examples of how to extend this base class).
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected boolean
protected Transform3D
protected boolean
protected int
protected boolean
static final int
Set this flag if you want to invert the inputs.static final int
Set this flag if you want to manually wakeup the behavior.protected WakeupOr
protected WakeupCriterion[]
protected LinkedList
protected boolean
protected TransformGroup
protected Transform3D
protected Transform3D
protected boolean
protected int
protected int
protected int
protected int
Fields inherited from class javax.media.j3d.Node
ALLOW_AUTO_COMPUTE_BOUNDS_READ, ALLOW_AUTO_COMPUTE_BOUNDS_WRITE, ALLOW_BOUNDS_READ, ALLOW_BOUNDS_WRITE, ALLOW_COLLIDABLE_READ, ALLOW_COLLIDABLE_WRITE, ALLOW_LOCAL_TO_VWORLD_READ, ALLOW_LOCALE_READ, ALLOW_PARENT_READ, ALLOW_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING
-
Constructor Summary
ConstructorsConstructorDescriptionMouseBehavior
(int format) Initializes standard fields.MouseBehavior
(Component c, int format) Creates a mouse behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent.MouseBehavior
(Component c, TransformGroup transformGroup) Creates a mouse behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent.MouseBehavior
(TransformGroup transformGroup) Creates a mouse behavior object with a given transform group. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds this behavior as a MouseListener, mouseWheelListener and MouseMotionListener to the specified component.Return the transformGroup on which this node is operatingvoid
Initializes the behavior.void
void
void
void
void
void
void
void
void
Handles mouse eventsabstract void
processStimulus
(Enumeration criteria) All mouse manipulators must implement this.void
setEnable
(boolean state) Enables or disables this Behavior.void
setTransformGroup
(TransformGroup transformGroup) Swap a new transformGroup replacing the old one.void
wakeup()
Manually wake up the behavior.Methods inherited from class javax.media.j3d.Behavior
getEnable, getNumSchedulingIntervals, getSchedulingBoundingLeaf, getSchedulingBounds, getSchedulingInterval, getView, getWakeupCondition, postId, setSchedulingBoundingLeaf, setSchedulingBounds, setSchedulingInterval, updateNodeReferences, wakeupOn
Methods inherited from class javax.media.j3d.Node
cloneNode, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, duplicateNode, getBounds, getBoundsAutoCompute, getCollidable, getLocale, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable
Methods inherited from class javax.media.j3d.SceneGraphObject
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString
-
Field Details
-
mouseEvents
-
mouseCriterion
-
x
protected int x -
y
protected int y -
x_last
protected int x_last -
y_last
protected int y_last -
transformGroup
-
transformX
-
transformY
-
currXform
-
buttonPress
protected boolean buttonPress -
reset
protected boolean reset -
invert
protected boolean invert -
wakeUp
protected boolean wakeUp -
flags
protected int flags -
mouseq
-
enable
protected boolean enable -
MANUAL_WAKEUP
public static final int MANUAL_WAKEUPSet this flag if you want to manually wakeup the behavior.- See Also:
-
INVERT_INPUT
public static final int INVERT_INPUTSet this flag if you want to invert the inputs. This is useful when the transform for the view platform is being changed instead of the transform for the object.- See Also:
-
-
Constructor Details
-
MouseBehavior
Creates a mouse behavior object with a given transform group.- Parameters:
transformGroup
- The transform group to be manipulated.
-
MouseBehavior
public MouseBehavior(int format) Initializes standard fields. Note that this behavior still needs a transform group to work on (use setTransformGroup(tg)) and the transform group must add this behavior.- Parameters:
format
- flags
-
MouseBehavior
Creates a mouse behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent. The behaviors is added to the specified Component and works on the given TransformGroup. A null component can be passed to specify the behaviors should use listeners. Components can then be added to the behavior with the addListener(Component c) method.- Parameters:
c
- The Component to add the MouseListener and MouseMotionListener to.transformGroup
- The TransformGroup to operate on.- Since:
- Java 3D 1.2.1
-
MouseBehavior
Creates a mouse behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent. The behavior is added to the specified Component. A null component can be passed to specify the behavior should use listeners. Components can then be added to the behavior with the addListener(Component c) method. Note that this behavior still needs a transform group to work on (use setTransformGroup(tg)) and the transform group must add this behavior.- Parameters:
format
- interesting flags (wakeup conditions).- Since:
- Java 3D 1.2.1
-
-
Method Details
-
setTransformGroup
Swap a new transformGroup replacing the old one. This allows manipulators to operate on different nodes.- Parameters:
transformGroup
- The *new* transform group to be manipulated.
-
getTransformGroup
Return the transformGroup on which this node is operating -
initialize
public void initialize()Initializes the behavior.- Specified by:
initialize
in classBehavior
-
wakeup
public void wakeup()Manually wake up the behavior. If MANUAL_WAKEUP flag was set upon creation, you must wake up this behavior each time it is handled. -
processMouseEvent
Handles mouse events -
processStimulus
All mouse manipulators must implement this.- Specified by:
processStimulus
in classBehavior
- Parameters:
criteria
- an enumeration of triggered wakeup criteria for this behavior
-
addListener
Adds this behavior as a MouseListener, mouseWheelListener and MouseMotionListener to the specified component. This method can only be called if the behavior was created with one of the constructors that takes a Component as a parameter.- Parameters:
c
- The component to add the MouseListener, MouseWheelListener and MouseMotionListener to.- Throws:
IllegalStateException
- if the behavior was not created as a listener- Since:
- Java 3D 1.2.1
-
mouseClicked
- Specified by:
mouseClicked
in interfaceMouseListener
-
mouseEntered
- Specified by:
mouseEntered
in interfaceMouseListener
-
mouseExited
- Specified by:
mouseExited
in interfaceMouseListener
-
mousePressed
- Specified by:
mousePressed
in interfaceMouseListener
-
mouseReleased
- Specified by:
mouseReleased
in interfaceMouseListener
-
mouseDragged
- Specified by:
mouseDragged
in interfaceMouseMotionListener
-
mouseMoved
- Specified by:
mouseMoved
in interfaceMouseMotionListener
-
setEnable
public void setEnable(boolean state) Description copied from class:Behavior
Enables or disables this Behavior. The default state is enabled. -
mouseWheelMoved
- Specified by:
mouseWheelMoved
in interfaceMouseWheelListener
-