|
|||||||||
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.YingYang
public class YingYang
Render a YingYang symbol
The symbol can be animated to rotate
Psychology of perception grants 'headedness' to the largest part of a contiguous region. The tail of a contiguous region is the smallest part.
There are four combinations of two binary aspects that convey the idea of motion to the observer.
Head | Hand | 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 |
YingYang.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 | |
---|---|
YingYang()
Creates a new instance of Rotationalndicator |
Method Summary | |
---|---|
protected void |
animPause()
Called from setAnimate(false ) |
protected void |
animPlay()
Called from setAnimate(true ) |
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 |
boolean |
getCentered()
true if the symbol is centered |
boolean |
getDrawLittle()
true if little circles are drawn |
boolean |
getDrawOutline()
true if symbol is outlined |
YingYang.RotationDirection |
getHandDirection()
Direction of black to white gradient |
YingYang.RotationDirection |
getHeadDirection()
Direction of color cycling, apparent direction of black circle |
double |
getLittleDiameter()
Diameter of the little circles |
double |
getLittleDiameterOffset()
Center of little circles, offset from center |
int |
getOutlineThickness()
Thickness of outline circle |
int |
getPaintInterval()
How often does the component redraw itself when animate |
java.awt.Dimension |
getPreferredSize()
300 x 300 |
double |
getSweepTime()
Time to complete one revolution |
double |
getTheta()
Symbol rotation in radians |
protected void |
paintComponent(java.awt.Graphics graphics)
Draw the symbol |
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 |
setCentered(boolean on)
Center the symbol |
void |
setDrawLittle(boolean on)
Draw the little circles |
void |
setDrawOutline(boolean on)
Outline the symbol |
void |
setHandDirection(YingYang.RotationDirection dir)
Direction of black to white gradient |
void |
setHeadDirection(YingYang.RotationDirection dir)
Direction of color cycling, apparent direction of black circle |
void |
setLittleDiameter(double x)
Diameter of the little circles |
void |
setLittleDiameterOffset(double x)
Center of little circles, offset from center |
void |
setOutlineThickness(int thickness)
Annulus of an outline circle |
void |
setPaintInterval(int n)
How often should the component redraw itself when animate (ms) |
void |
setSweepTime(double t)
Time (s) to complete one revolution |
void |
setTheta(double theta)
Symbol rotation in radians |
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 YingYang()
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 setPaintInterval(int n)
When sweepTime
is small paintInterval
might
need to be reduced in order to ensure a smooth animation.
When bigDiameter
is large 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()
public void setBigDiameter(int n)
Ignored if autoSize
is on
public int getBigDiameter()
public void setLittleDiameter(double x)
public double getLittleDiameter()
public void setLittleDiameterOffset(double x)
public double getLittleDiameterOffset()
public void setHeadDirection(YingYang.RotationDirection dir)
CW
(clockwise) or CCW
(counterclockwise)
public YingYang.RotationDirection getHeadDirection()
CW
(clockwise) or CCW
(counterclockwise)public void setHandDirection(YingYang.RotationDirection dir)
CW
(clockwise) or CCW
(counterclockwise)
public YingYang.RotationDirection getHandDirection()
CW
(clockwise) or CCW
(counterclockwise)public void setOutlineThickness(int thickness)
public int getOutlineThickness()
public void setDrawOutline(boolean on)
public boolean getDrawOutline()
true
if symbol is outlined
public void setDrawLittle(boolean on)
public boolean getDrawLittle()
true
if little circles are drawn
public void setTheta(double theta)
public double getTheta()
public void setAutosize(boolean on)
public boolean getAutosize()
true
if visualization uses all available spacepublic void setCentered(boolean on)
public boolean getCentered()
true
if the symbol is centered
protected void paintComponent(java.awt.Graphics graphics)
paintComponent
in class javax.swing.JComponent
public java.awt.Dimension getPreferredSize()
300 x 300
getPreferredSize
in class javax.swing.JComponent
300 x 300
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |