Class ThermometerGraph

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
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

    Nested Classes 
    Modifier and Type Class Description
    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 
    Modifier and Type Field Description
    static java.awt.Color[] colors  

    Fields inherited from class javax.swing.JComponent

    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

    accessibleContext, 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

    Constructors 
    Constructor Description
    ThermometerGraph()  
  • Method Summary

    Modifier and Type Method Description
    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, 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, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, getAccessibleContext, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • colors

      public static java.awt.Color[] colors
  • Constructor Details

  • Method Details

    • 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)