com.sun.j3d.utils.behaviors.vp

## Class ViewPlatformAWTBehavior

- java.lang.Object
- - javax.media.j3d.SceneGraphObject
  - - javax.media.j3d.Node
    - - javax.media.j3d.Leaf
      - - javax.media.j3d.Behavior
        - - com.sun.j3d.utils.behaviors.vp.ViewPlatformBehavior
          - - com.sun.j3d.utils.behaviors.vp.ViewPlatformAWTBehavior

- All Implemented Interfaces:
    java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.MouseWheelListener, java.util.EventListener
  Direct Known Subclasses:
    OrbitBehavior

      public abstract class ViewPlatformAWTBehavior
      extends ViewPlatformBehavior
      implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.KeyListener, java.awt.event.MouseWheelListener

  Abstract class which implements much of the event tracking and state updating in a thread safe manner. AWT Events are captured and placed in a queue. While there are pending events or motion the behavior will wake up every frame, call processAWTEvents and integrateTransforms.
  Since:
    Java 3D 1.2.1

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Canvas3D[]` | `canvases` The Canvas3Ds from which this Behavior gets AWT events
    `protected WakeupOnElapsedFrames` | `frameWakeup` The different criterion for the behavior to wakeup
    `static int` | `KEY_LISTENER` Flag indicating Behavior should listen for Key Events
    `protected boolean` | `motion` Boolean for whether the mouse is in motion
    `static int` | `MOUSE_LISTENER` Flag indicating Behavior should listen for Mouse Events
    `static int` | `MOUSE_MOTION_LISTENER` Flag indicating Behavior should listen for Mouse Motion Events
    `static int` | `MOUSE_WHEEL_LISTENER` Flag indicating Behavior should listen for MouseWheel Events
    `protected static int` | `POST_ID` Behavior PostId used in this behavior
    `protected WakeupOnBehaviorPost` | `postWakeup` The Or of the different criterion for the behavior to wakeup
    `protected Transform3D` | `targetTransform` The target Transform3D for this behavior

    - ### Fields inherited from class com.sun.j3d.utils.behaviors.vp.ViewPlatformBehavior

      `homeTransform, targetTG, vp`

    - ### 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

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `ViewPlatformAWTBehavior()` Parameterless constructor for this behavior, intended for use by subclasses instantiated through ConfiguredUniverse.
    `` | `ViewPlatformAWTBehavior(Canvas3D c, int listenerFlags)` Constructs a new ViewPlatformAWTBehavior.
    `protected` | `ViewPlatformAWTBehavior(int listenerFlags)` Construct a behavior which listens for events specified by the given flags, intended for use by subclasses instantiated through ConfiguredUniverse.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `initialize()` Initializes the behavior.
    `protected abstract void` | `integrateTransforms()` Called once per frame (if the view is moving) to calculate the new view platform transform
    `void` | `keyPressed(java.awt.event.KeyEvent e)`
    `void` | `keyReleased(java.awt.event.KeyEvent e)`
    `void` | `keyTyped(java.awt.event.KeyEvent e)`
    `void` | `mouseClicked(java.awt.event.MouseEvent e)`
    `void` | `mouseDragged(java.awt.event.MouseEvent e)`
    `void` | `mouseEntered(java.awt.event.MouseEvent e)`
    `void` | `mouseExited(java.awt.event.MouseEvent e)`
    `void` | `mouseMoved(java.awt.event.MouseEvent e)`
    `void` | `mousePressed(java.awt.event.MouseEvent e)`
    `void` | `mouseReleased(java.awt.event.MouseEvent e)`
    `void` | `mouseWheelMoved(java.awt.event.MouseWheelEvent e)`
    `protected abstract void` | `processAWTEvents(java.awt.AWTEvent[] events)` This is called once per frame if there are any AWT events to process.
    `void` | `processStimulus(java.util.Enumeration behEnum)` Process a stimulus meant for this behavior.
    `protected void` | `queueAWTEvent(java.awt.AWTEvent e)` Queue AWTEvents in a thread safe manner.
    `void` | `setEnable(boolean state)` Overload setEnable from Behavior.
    `protected void` | `setListenerFlags(int listenerFlags)` Sets listener flags for this behavior.
    `void` | `setViewingPlatform(ViewingPlatform vp)` Sets the ViewingPlatform for this behavior.

    - ### Methods inherited from class com.sun.j3d.utils.behaviors.vp.ViewPlatformBehavior

      `getHomeTransform, getViewingPlatform, goHome, setHomeTransform`

    - ### 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`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### POST_ID

          protected static final int POST_ID

      Behavior PostId used in this behavior
      See Also:
        Constant Field Values

    - #### frameWakeup

          protected WakeupOnElapsedFrames frameWakeup

      The different criterion for the behavior to wakeup

    - #### postWakeup

          protected WakeupOnBehaviorPost postWakeup

      The Or of the different criterion for the behavior to wakeup

    - #### targetTransform

          protected Transform3D targetTransform

      The target Transform3D for this behavior

    - #### motion

          protected boolean motion

      Boolean for whether the mouse is in motion

    - #### MOUSE_LISTENER

          public static final int MOUSE_LISTENER

      Flag indicating Behavior should listen for Mouse Events
      See Also:
        Constant Field Values

    - #### MOUSE_MOTION_LISTENER

          public static final int MOUSE_MOTION_LISTENER

      Flag indicating Behavior should listen for Mouse Motion Events
      See Also:
        Constant Field Values

    - #### KEY_LISTENER

          public static final int KEY_LISTENER

      Flag indicating Behavior should listen for Key Events
      See Also:
        Constant Field Values

    - #### MOUSE_WHEEL_LISTENER

          public static final int MOUSE_WHEEL_LISTENER

      Flag indicating Behavior should listen for MouseWheel Events
      See Also:
        Constant Field Values

    - #### canvases

          protected Canvas3D[] canvases

      The Canvas3Ds from which this Behavior gets AWT events

  - ### Constructor Detail

    - #### ViewPlatformAWTBehavior

          protected ViewPlatformAWTBehavior()

      Parameterless constructor for this behavior, intended for use by subclasses instantiated through ConfiguredUniverse. Such a constructor is required for configurable behaviors.
      Since:
        Java 3D 1.3

    - #### ViewPlatformAWTBehavior

          protected ViewPlatformAWTBehavior(int listenerFlags)

      Construct a behavior which listens for events specified by the given flags, intended for use by subclasses instantiated through ConfiguredUniverse.
      Parameters:
        `listenerFlags` - Indicates which listener should be registered, one or more of MOUSE_LISTENER, MOUSE_MOTION_LISTENER, KEY_LISTENER, MOUSE_WHEEL_LISTENER
      Since:
        Java 3D 1.3

    - #### ViewPlatformAWTBehavior

          public ViewPlatformAWTBehavior(Canvas3D c,
                                 int listenerFlags)

      Constructs a new ViewPlatformAWTBehavior.
      Parameters:
        `c` - The Canvas3D on which to listen for events. If this is null a NullPointerException will be thrown.
        `listenerFlags` - Indicates which listener should be registered, one or more of MOUSE_LISTENER, MOUSE_MOTION_LISTENER, KEY_LISTENER, MOUSE_WHEEL_LISTENER

  - ### Method Detail

    - #### setListenerFlags

          protected void setListenerFlags(int listenerFlags)

      Sets listener flags for this behavior.
      Parameters:
        `listenerFlags` - Indicates which listener should be registered, one or more of MOUSE_LISTENER, MOUSE_MOTION_LISTENER, KEY_LISTENER, MOUSE_WHEEL_LISTENER
      Since:
        Java 3D 1.3

    - #### initialize

          public void initialize()

      Initializes the behavior. NOTE: Applications should not call this method. It is called by the Java 3D behavior scheduler.
      Specified by:
        `initialize` in class `Behavior`

    - #### processStimulus

          public void processStimulus(java.util.Enumeration behEnum)

      Process a stimulus meant for this behavior. NOTE: Applications should not call this method. It is called by the Java 3D behavior scheduler.
      Specified by:
        `processStimulus` in class `Behavior`
      Parameters:
        `behEnum` - an enumeration of triggered wakeup criteria for this behavior

    - #### setEnable

          public void setEnable(boolean state)

      Overload setEnable from Behavior. Adds/Removes the AWT listeners depending on the requested state.
      Overrides:
        `setEnable` in class `Behavior`
      Parameters:
        `state` - true or false to enable or disable this Behavior

    - #### setViewingPlatform

          public void setViewingPlatform(ViewingPlatform vp)

      Sets the ViewingPlatform for this behavior. This method is called by the ViewingPlatform. If a sub-calls overrides this method, it must call super.setViewingPlatform(vp). NOTE: Applications should not call this method.
      Overrides:
        `setViewingPlatform` in class `ViewPlatformBehavior`
      Parameters:
        `vp` - the target ViewingPlatform for this behavior

    - #### processAWTEvents

          protected abstract void processAWTEvents(java.awt.AWTEvent[] events)

      This is called once per frame if there are any AWT events to process. The `motion` variable will be true when the method is called. If it is true when the method returns integrateTransforms will be called immediately. The AWTEvents are presented in the array in the order in which they arrived from AWT.

    - #### integrateTransforms

          protected abstract void integrateTransforms()

      Called once per frame (if the view is moving) to calculate the new view platform transform

    - #### queueAWTEvent

          protected void queueAWTEvent(java.awt.AWTEvent e)

      Queue AWTEvents in a thread safe manner. If subclasses override this method they must call super.queueAWTEvent(e)

    - #### mouseClicked

          public void mouseClicked(java.awt.event.MouseEvent e)

      Specified by:
        `mouseClicked` in interface `java.awt.event.MouseListener`

    - #### mouseEntered

          public void mouseEntered(java.awt.event.MouseEvent e)

      Specified by:
        `mouseEntered` in interface `java.awt.event.MouseListener`

    - #### mouseExited

          public void mouseExited(java.awt.event.MouseEvent e)

      Specified by:
        `mouseExited` in interface `java.awt.event.MouseListener`

    - #### mousePressed

          public void mousePressed(java.awt.event.MouseEvent e)

      Specified by:
        `mousePressed` in interface `java.awt.event.MouseListener`

    - #### mouseReleased

          public void mouseReleased(java.awt.event.MouseEvent e)

      Specified by:
        `mouseReleased` in interface `java.awt.event.MouseListener`

    - #### mouseDragged

          public void mouseDragged(java.awt.event.MouseEvent e)

      Specified by:
        `mouseDragged` in interface `java.awt.event.MouseMotionListener`

    - #### mouseMoved

          public void mouseMoved(java.awt.event.MouseEvent e)

      Specified by:
        `mouseMoved` in interface `java.awt.event.MouseMotionListener`

    - #### keyReleased

          public void keyReleased(java.awt.event.KeyEvent e)

      Specified by:
        `keyReleased` in interface `java.awt.event.KeyListener`

    - #### keyPressed

          public void keyPressed(java.awt.event.KeyEvent e)

      Specified by:
        `keyPressed` in interface `java.awt.event.KeyListener`

    - #### keyTyped

          public void keyTyped(java.awt.event.KeyEvent e)

      Specified by:
        `keyTyped` in interface `java.awt.event.KeyListener`

    - #### mouseWheelMoved

          public void mouseWheelMoved(java.awt.event.MouseWheelEvent e)

      Specified by:
        `mouseWheelMoved` in interface `java.awt.event.MouseWheelListener`

Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.