Class 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 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
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      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
    • 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
      • 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
      • 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)