|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent com.devenezia.Rotationallndicator
public class Rotationallndicator
Indicate a rotating condition by color cycling circles, c0 to cn drawn on the circumference of circle, C.
The circles are drawn at fixed positions, equispaced on the circumference. The colors cycled are a linear gradient from black to white. The act of color cycling gives the appearance of a body in a circular orbit.
Psychology of perception grants 'headedness' to darker visual elements. The white circles are drawn first to prevent the head from looking eclipsed when circles overlap.
There are four combinations of two binary aspects that convey the idea of motion to the observer.
Aspect 1. Head direction - Direction of the blackest dot. Clockwise or Counterclockwise. |
Aspect 2. Fade direction - Direction of gradient to white. Clockwise or Counterclockwise. |
Head | Fade | Perceived visual effect | |
---|---|---|---|
CW | CW | black push-CW | white pull-CW |
CW | CCW | black pull-CW | white push-CW |
CCW | CW | black pull-CCW | white push-CCW |
CCW | CCW | black push-CCW | white pull-CCW |
Nested Class Summary | |
---|---|
static class |
Rotationallndicator.RotationDirection
Clockwise or Counterclockwise |
Nested classes/interfaces inherited from class javax.swing.JComponent |
---|
javax.swing.JComponent.AccessibleJComponent |
Nested classes/interfaces inherited from class java.awt.Container |
---|
java.awt.Container.AccessibleAWTContainer |
Nested classes/interfaces inherited from class java.awt.Component |
---|
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
Field Summary |
---|
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 | |
---|---|
Rotationallndicator()
Creates a new instance of Rotationalndicator |
Method Summary | |
---|---|
protected void |
animPause()
Called from setAnimate(false ) |
protected void |
animPlay()
Called from setAnimate(true ) |
boolean |
getAlertMode()
Is alert mode active? |
boolean |
getAnimate()
Is the component animate? |
boolean |
getAutosize()
Will the visualization use all available space? |
int |
getBigDiameter()
Diameter of the circle C, on which the orbit circles are drawn |
double |
getDrawFirstFraction()
[0..1] Fraction of full circle at which first circle is drawn |
double |
getDrawLastFraction()
[0..1] Fraction of full circle at which last circle is drawn |
boolean |
getDrawRing()
Is circle C being drawn? |
Rotationallndicator.RotationDirection |
getFadeDirection()
Direction of black to white gradient |
Rotationallndicator.RotationDirection |
getHeadDirection()
Direction of color cycling, apparent direction of black circle |
int |
getLittleDiameter()
Diameter of the orbiting circles |
int |
getNumberOfCircles()
Number of orbiting circles |
int |
getPaintInterval()
How often does the component redraw itself when animate |
java.awt.Dimension |
getPreferredSize()
200 x 200 |
double |
getSweepTime()
Time to complete one revolution |
protected void |
paintComponent(java.awt.Graphics graphics)
|
void |
setAlertMode(boolean mode)
Cause the circles to blink red |
void |
setAnimate(boolean on)
Turn animation on or off |
void |
setAutosize(boolean on)
Cause the component to use all available space |
void |
setBigDiameter(int n)
Diameter of the circle on which the circles are drawn |
void |
setDrawFirstFraction(double f)
[0..1] Fraction of full circle at which first circle is drawn |
void |
setDrawLastFraction(double f)
[0..1] Fraction of full circle at which last circle is drawn |
void |
setDrawRing(boolean on)
Cause circle C to be drawn |
void |
setFadeDirection(Rotationallndicator.RotationDirection dir)
Direction of black to white gradient |
void |
setHeadDirection(Rotationallndicator.RotationDirection dir)
Direction of color cycling, apparent direction of black circle |
void |
setLittleDiameter(int n)
Diameter of the orbiting circles |
void |
setNumberOfCircles(int n)
Number of orbiting circles |
void |
setPaintInterval(int n)
How often should the component redraw itself when animate (ms) |
void |
setSweepTime(double t)
Time (s) to complete one revolution |
Methods inherited from class javax.swing.JComponent |
---|
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, 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, updateUI |
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, toString, transferFocus, transferFocusUpCycle |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public Rotationallndicator()
Method Detail |
---|
public void setAnimate(boolean on)
public boolean getAnimate()
true
if animation is occurringprotected void animPlay()
setAnimate(true
)
protected void animPause()
setAnimate(false
)
public void setAlertMode(boolean mode)
public boolean getAlertMode()
true
if alert mode is activepublic void setPaintInterval(int n)
When sweepTime
is small paintInterval
might
need to be reduced in order to ensure a smooth animation.
default: 50
ms
public int getPaintInterval()
public void setSweepTime(double t)
public double getSweepTime()
protected void paintComponent(java.awt.Graphics graphics)
paintComponent
in class javax.swing.JComponent
public void setBigDiameter(int n)
Ignored if autoSize
is on
public int getBigDiameter()
public void setLittleDiameter(int n)
public int getLittleDiameter()
public int getNumberOfCircles()
public void setNumberOfCircles(int n)
c0 to cn are drawn equispaced with centers on the circumference of C
public void setHeadDirection(Rotationallndicator.RotationDirection dir)
CW
(clockwise) or CCW
(counterclockwise)
public Rotationallndicator.RotationDirection getHeadDirection()
CW
(clockwise) or CCW
(counterclockwise)public void setFadeDirection(Rotationallndicator.RotationDirection dir)
CW
(clockwise) or CCW
(counterclockwise)
public Rotationallndicator.RotationDirection getFadeDirection()
CW
(clockwise) or CCW
(counterclockwise)public void setDrawFirstFraction(double f)
[0..1]
Fraction of full circle at which first circle is drawn
If numberOfCircles=100 and f=.25 the first circle drawn is circle 25 away from the white circle.
default: 0
public double getDrawFirstFraction()
[0..1]
Fraction of full circle at which first circle is drawn
0
and 1
inclusive.public void setDrawLastFraction(double f)
[0..1]
Fraction of full circle at which last circle is drawn
If numberOfCircles=100 and f=.75 the last circle drawn is circle 75 away from the white circle.
default: 1
public double getDrawLastFraction()
[0..1]
Fraction of full circle at which last circle is drawn
0
and 1
inclusive.public void setDrawRing(boolean on)
public boolean getDrawRing()
true
if circle C is being drawnpublic void setAutosize(boolean on)
public boolean getAutosize()
true
if visualization uses all available spacepublic java.awt.Dimension getPreferredSize()
200 x 200
getPreferredSize
in class javax.swing.JComponent
200 x 200
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |