com.objectwave.uiWidget
Class Histogram

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--com.objectwave.uiWidget.JGraph
                          |
                          +--com.objectwave.uiWidget.Histogram
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.ItemSelectable, java.awt.MenuContainer, java.io.Serializable

public class Histogram
extends JGraph

This class displays a histogram (bar-graph) of the given data in the given scale. Note that there's an boolean autoRange data member. If this is "true" then the scale of the graph will be relative to the size of the data. This implementation is incomplete. It will not display negative values in the desired manner: all values will be drawn from the bottom of the graph, not from 0. Additionally, there should be indicators on the side of the graph to give a scale: at least minValue, 0, and maxValue should be displayed, if available real estate is available. Finally, it would be useful to provide the option of displaying the graph in any of the four orientations (left->right, right->left, top->bottom, bottom->top) instead of just bottom->top. In left<->rights orientations, the ability to write the labels associated with the different bars would be useful.

See Also:
Serialized Form

Field Summary
 boolean autoRange
           
 int barBase
           
 int maxValue
           
 int minValue
           
 int numTicks
           
 
Fields inherited from class com.objectwave.uiWidget.JGraph
blue, bottom, currColor, focusedItemValue, graphItems, green, itemListeners, left, padding, recalc, red, right, selectedItem, shadeSelection, top
 
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
Histogram()
           
 
Method Summary
 void addItem(java.lang.Object object, int value, java.awt.Color col)
          Pass an object instead of a name so that it can be accessed later.
 void addItem(java.lang.String name, int value)
           
 void addItem(java.lang.String name, int value, java.awt.Color col)
           
 void clear()
           
protected  java.awt.event.MouseMotionListener getMouseMotionListener()
           
 GraphItem itemAtPoint(java.awt.Point p)
           
 void paint(java.awt.Graphics g)
           
 void removeItem(java.lang.String name)
           
 void setRange()
           
protected  void updateFocusedItemLabel(java.awt.Point p)
           
 double valueAtPoint(java.awt.Point p)
          Return the corresponding value in the range [minValue...maxValue] at the given point p.
 
Methods inherited from class com.objectwave.uiWidget.JGraph
addItemListener, fireSelectionEvent, getMouseListener, getPreferredSize, getSelectedItem, getSelectedItem, getSelectedItemLabel, getSelectedObjects, pickColor, removeItemListener, setBounds, setBounds, setDimensions, setSelectedItem, setSelectedItem, setShadeSelection, updateItemLabel
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, 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
 

Field Detail

minValue

public int minValue

maxValue

public int maxValue

autoRange

public boolean autoRange

numTicks

public int numTicks

barBase

public int barBase
Constructor Detail

Histogram

public Histogram()
Method Detail

addItem

public void addItem(java.lang.Object object,
                    int value,
                    java.awt.Color col)
Pass an object instead of a name so that it can be accessed later. the object's name will be object.toString().

Overrides:
addItem in class JGraph

addItem

public void addItem(java.lang.String name,
                    int value)
Overrides:
addItem in class JGraph

addItem

public void addItem(java.lang.String name,
                    int value,
                    java.awt.Color col)
Overrides:
addItem in class JGraph

clear

public void clear()
Overrides:
clear in class JGraph

getMouseMotionListener

protected java.awt.event.MouseMotionListener getMouseMotionListener()
Overrides:
getMouseMotionListener in class JGraph

itemAtPoint

public GraphItem itemAtPoint(java.awt.Point p)
Specified by:
itemAtPoint in class JGraph

paint

public void paint(java.awt.Graphics g)
Overrides:
paint in class JGraph

removeItem

public void removeItem(java.lang.String name)
Overrides:
removeItem in class JGraph

setRange

public void setRange()

updateFocusedItemLabel

protected void updateFocusedItemLabel(java.awt.Point p)
Overrides:
updateFocusedItemLabel in class JGraph

valueAtPoint

public double valueAtPoint(java.awt.Point p)
Return the corresponding value in the range [minValue...maxValue] at the given point p. If the value determined is not in the range of legal values, either positive or negative infinity will be returned, depending on which side of the graph the value was determined.