org.proteinshader.gui.components.controlpanel
Class MotionPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.proteinshader.gui.components.controlpanel.MotionPanel
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class MotionPanel
extends JPanel

This control panel allows the user to rotate the image or move the camera.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
static int MAX_SPEED
          The maximum rotation speed in degrees per second is 90.
static String MENU_NAME
          The menu name "Motion" will be returned by toString().
static int MIN_SPEED
          The minimum rotation speed in degrees per second is -90.
static int X_SPEED_INIT
          The initial rotation speed for the X-Axis is 0 degrees per second.
static int Y_SPEED_INIT
          The initial rotation speed for the Y-Axis is 36 degrees per second.
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
MotionPanel(Mediator mediator, Frame dialogOwner)
          Constructs a MotionPanel.
 
Method Summary
 void startAnimation()
          Start a rotation animation using the current slider values for the X-Axis speed and Y-Axis speed.
 void stopAnimation()
          Stops the rotation the was started with the startAnimation() button.
 String toString()
          Returns a name suitable for use in a menu.
 void updateFramesPerSecondDisplay(double fps)
          Updates the text field for the current frames per second that a rotation animation is running at.
 void useTextFieldsToUpdateSpeed()
          Gets the speed values from the text fields and uses them to update the sliders (without firing a change event for the sliders), and, if an animation is in progress, the new speeds will be forwarded to the Mediator.
 void useXAxisSpinnerToUpdateSpeed()
          Uses the speed from the X-Axis slider to update the X-Axis text field, and, if an animation is in progress, the new speed will be sent to the Mediator.
 void useYAxisSpinnerToUpdateSpeed()
          Uses the speed from the Y-Axis slider to update the Y-Axis text field, and, if an animation is in progress, the new speed will be sent to the Mediator.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

MENU_NAME

public static final String MENU_NAME
The menu name "Motion" will be returned by toString().

See Also:
Constant Field Values

MIN_SPEED

public static final int MIN_SPEED
The minimum rotation speed in degrees per second is -90.

See Also:
Constant Field Values

MAX_SPEED

public static final int MAX_SPEED
The maximum rotation speed in degrees per second is 90.

See Also:
Constant Field Values

X_SPEED_INIT

public static final int X_SPEED_INIT
The initial rotation speed for the X-Axis is 0 degrees per second.

See Also:
Constant Field Values

Y_SPEED_INIT

public static final int Y_SPEED_INIT
The initial rotation speed for the Y-Axis is 36 degrees per second.

See Also:
Constant Field Values
Constructor Detail

MotionPanel

public MotionPanel(Mediator mediator,
                   Frame dialogOwner)
Constructs a MotionPanel.

Parameters:
mediator - the centralized Mediator that most listeners need to call on to accomplish their task.
dialogOwner - the owner of any Dialogs opened from the SelectorPanel (or null if there is no requested owner).
Method Detail

startAnimation

public void startAnimation()
Start a rotation animation using the current slider values for the X-Axis speed and Y-Axis speed. The speed is given in degrees per second. When an animation is started, the 'Start' button is disabled and the 'Stop' button is enabled.


stopAnimation

public void stopAnimation()
Stops the rotation the was started with the startAnimation() button. When the animation is stopped, the 'Stop' button is disabled and the 'Start' button is enabled.


updateFramesPerSecondDisplay

public void updateFramesPerSecondDisplay(double fps)
Updates the text field for the current frames per second that a rotation animation is running at.

Parameters:
fps - the frames per second for the animation.

useXAxisSpinnerToUpdateSpeed

public void useXAxisSpinnerToUpdateSpeed()
Uses the speed from the X-Axis slider to update the X-Axis text field, and, if an animation is in progress, the new speed will be sent to the Mediator.


useYAxisSpinnerToUpdateSpeed

public void useYAxisSpinnerToUpdateSpeed()
Uses the speed from the Y-Axis slider to update the Y-Axis text field, and, if an animation is in progress, the new speed will be sent to the Mediator.


useTextFieldsToUpdateSpeed

public void useTextFieldsToUpdateSpeed()
Gets the speed values from the text fields and uses them to update the sliders (without firing a change event for the sliders), and, if an animation is in progress, the new speeds will be forwarded to the Mediator.


toString

public String toString()
Returns a name suitable for use in a menu.

Overrides:
toString in class Component
Returns:
The menu name as a String.


Copyright © 2007-2008