com.moneydance.awt
Class ThermometerGraph

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by com.moneydance.awt.ThermometerGraph
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.ItemSelectable, java.awt.MenuContainer, java.io.Serializable

public class ThermometerGraph
extends javax.swing.JComponent
implements java.awt.ItemSelectable

Light weight stacked bar graph

See Also:
Serialized Form

Nested Class Summary
 class ThermometerGraph.Segment
           
 
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.BaselineResizeBehavior, 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
ThermometerGraph()
           
 
Method Summary
 void addItemListener(java.awt.event.ItemListener l)
           
 ThermometerGraph.Segment addSegment(java.lang.String label, double portion)
          Add a stacked segment to the graph with the given label, portion and use an automatic color
 ThermometerGraph.Segment addSegment(java.lang.String label, double portion, java.awt.Color color)
          Add a stacked segment to the graph with the given label, portion and color
 ThermometerGraph.Segment addSegment(java.lang.String label, double portion, java.awt.Color color, java.lang.Object target)
          Add a stacked segment to the graph with the given label, portion and color
 ThermometerGraph.Segment addSegment(java.lang.String label, double portion, java.lang.Object target)
          Add a stacked segment to the graph with the given label, portion, an automatically selected color and the given target
 java.awt.Dimension getMinimumSize()
           
 ThermometerGraph.Segment getMouseOverSegment()
          Get the segment that is under the mouse
 int getNumSegments()
          Return the number of segments in the current graph
 java.awt.Dimension getPreferredSize()
           
 ThermometerGraph.Segment getSegment(int i)
          Returns the segment located at the given index
 java.lang.Object[] getSelectedObjects()
           
 ThermometerGraph.Segment getSelectedSegment()
           
 float getSelectedSegmentCenter()
          Returns the relative location of the center of the selected segment or -1 if no segment is selected.
 java.lang.Object getSelectedTarget()
           
static void main(java.lang.String[] argv)
           
 java.awt.Color nextColor()
          Return the next color in the array
 void paintComponent(java.awt.Graphics graphics)
           
 void removeItemListener(java.awt.event.ItemListener l)
           
 void reset()
          Remove all segments and reset the color iterator.
 void setBounds(int x, int y, int w, int h)
           
 void setHighlightedIndex(int newIndex)
           
 void setSelectedIndex(int newIndex)
           
 void setSelectedSegment(ThermometerGraph.Segment seg)
           
 
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, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, 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

ThermometerGraph

public ThermometerGraph()
Method Detail

setBounds

public void setBounds(int x,
                      int y,
                      int w,
                      int h)
Overrides:
setBounds in class java.awt.Component

getNumSegments

public int getNumSegments()
Return the number of segments in the current graph


getSegment

public ThermometerGraph.Segment getSegment(int i)
Returns the segment located at the given index


getMouseOverSegment

public ThermometerGraph.Segment getMouseOverSegment()
Get the segment that is under the mouse


getSelectedSegment

public ThermometerGraph.Segment getSelectedSegment()

getSelectedSegmentCenter

public float getSelectedSegmentCenter()
Returns the relative location of the center of the selected segment or -1 if no segment is selected.


addItemListener

public void addItemListener(java.awt.event.ItemListener l)
Specified by:
addItemListener in interface java.awt.ItemSelectable

removeItemListener

public void removeItemListener(java.awt.event.ItemListener l)
Specified by:
removeItemListener in interface java.awt.ItemSelectable

getSelectedObjects

public java.lang.Object[] getSelectedObjects()
Specified by:
getSelectedObjects in interface java.awt.ItemSelectable

setSelectedSegment

public void setSelectedSegment(ThermometerGraph.Segment seg)

getSelectedTarget

public java.lang.Object getSelectedTarget()

setSelectedIndex

public void setSelectedIndex(int newIndex)

setHighlightedIndex

public void setHighlightedIndex(int newIndex)

reset

public void reset()
Remove all segments and reset the color iterator.


nextColor

public java.awt.Color nextColor()
Return the next color in the array


addSegment

public ThermometerGraph.Segment addSegment(java.lang.String label,
                                           double portion,
                                           java.awt.Color color)
Add a stacked segment to the graph with the given label, portion and color


addSegment

public ThermometerGraph.Segment addSegment(java.lang.String label,
                                           double portion,
                                           java.awt.Color color,
                                           java.lang.Object target)
Add a stacked segment to the graph with the given label, portion and color


addSegment

public ThermometerGraph.Segment addSegment(java.lang.String label,
                                           double portion)
Add a stacked segment to the graph with the given label, portion and use an automatic color


addSegment

public ThermometerGraph.Segment addSegment(java.lang.String label,
                                           double portion,
                                           java.lang.Object target)
Add a stacked segment to the graph with the given label, portion, an automatically selected color and the given target


getPreferredSize

public java.awt.Dimension getPreferredSize()
Overrides:
getPreferredSize in class javax.swing.JComponent

getMinimumSize

public java.awt.Dimension getMinimumSize()
Overrides:
getMinimumSize in class javax.swing.JComponent

paintComponent

public void paintComponent(java.awt.Graphics graphics)
Overrides:
paintComponent in class javax.swing.JComponent

main

public static void main(java.lang.String[] argv)