vis.beans.plotter
Class MultiHistogram

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--vis.beans.plotter.Viewport
                          |
                          +--vis.beans.plotter.PlotViewport
                                |
                                +--vis.beans.plotter.MultiHistogram
All Implemented Interfaces:
java.beans.beancontext.BeanContextChild, java.beans.beancontext.BeanContextServiceRevokedListener, java.beans.beancontext.BeanContextServicesListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.print.Printable, java.io.Serializable

public class MultiHistogram
extends PlotViewport

The MultiHistogram Class draws one or more sets of histograms as bar charts.

Version:
1.0 24 July 2000
Author:
Larry Rodrigues
See Also:
Serialized Form

Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Field Summary
protected  java.awt.Color barColor
           
protected  int[] barHgt
           
protected  int barHt
           
protected  int barWid
           
protected  java.lang.Object binMinmax
           
protected  java.lang.Object binMinmaxObj
           
protected  double binRange
           
protected  int[] freqMinmax
           
protected  int freqRange
           
protected  int[][] frequency
           
protected  java.awt.Color[] histColor
           
protected  int numBars
           
protected  int numPlots
           
protected  java.util.Vector yVector
           
 
Fields inherited from class vis.beans.plotter.PlotViewport
AUTO, border, borderULHC, customizerClass, enableDraw, font, fontSize, graphColor, graphColors, graphHt, graphNum, graphTitle, graphWid, headerHt, headerPt, legBoxSize, legendColor, legendGap, legendGapIncr, legendOn, legendPos, legendPosXIncr, legendPosYIncr, legendString, legPt, maxGraphs, numSmallXTicks, numSmallYTicks, numXTicks, numYTicks, orig, originXIncr, originYIncr, pFont, tickGap, tickLen, titleString, x, xLabel, xLabelsPerTick, xLabelString, xMinmax, xRange, xScale, xSizeRatio, xTextValues, xTickPt, y, yLabel, yLabelsPerTick, yLabelString, yMinmax, yRange, yScale, ySizeRatio
 
Fields inherited from class vis.beans.plotter.Viewport
destGc, destImage, height, offScrGc, offScrImage, pixImage, plBeanContext, width, xMagFac, xScaleFac, yMagFac, yScaleFac
 
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.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
MultiHistogram()
           
 
Method Summary
 void addGraph(java.lang.Object x, java.lang.Object y)
          This method adds a graph.
 void computeHistogram()
           
 void draw()
          This method does the actual drawing.
 void drawPlot(java.lang.Object data)
          Plots the histogram.
 void drawPlot(java.lang.Object x, java.lang.Object y)
          Draws the plot.
 void drawXTicks(java.lang.Object minmax)
          Draws X ticks.
protected  void drawYTicks(int[] minmax)
           
 java.awt.Color getBarColor()
           
 int getNumBars()
           
 void paintGraphs()
          Paints all the graphs.
 void plotHistogram(PlotEvent e)
          This method plots the histogram.
 void resetPlotViewport()
          Resets the plot viewport.
 void setBarColor(java.awt.Color col)
          Sets the color of the bars.
 void setNumBars(int bars)
          Sets the number of bars.
 
Methods inherited from class vis.beans.plotter.PlotViewport
addLegend, createPlotTemplate, drawAxis, drawLegends, drawXLabel, drawYLabel, drawYTicks, getBorderULHC, getBorderULHC, getCustomizerClass, getGraphColor, getGraphColors, getGraphTitle, getLegendGapIncr, getLegendOn, getLegendPos, getLegendPos, getLegendPosXIncr, getLegendPosYIncr, getMaxGraphs, getMinimumSize, getNumSmallXTicks, getNumSmallYTicks, getNumXTicks, getNumYTicks, getOriginXIncr, getOriginYIncr, getTitleString, getXLabelsPerTick, getXLabelString, getXMinmax, getXMinmaxObj, getYLabelsPerTick, getYLabelString, getYMinmax, getYMinmaxObj, launchCustomizer, launchFileDialog, popupMenu, print, printPlot, processMouseEvent, saveAsJPEG, setBackground, setBorderULHC, setBorderULHC, setCustomizerClass, setFont, setForeground, setGraphColor, setGraphColors, setGraphTitle, setLegendGapIncr, setLegendOn, setLegendPos, setLegendPos, setLegendPosXIncr, setLegendPosYIncr, setMaxGraphs, setNumSmallXTicks, setNumSmallYTicks, setNumXTicks, setNumYTicks, setOriginXIncr, setOriginYIncr, setParams, setTitleString, setWidHt, setXLabelsPerTick, setXLabelString, setXMinmax, setXMinmaxObj, setYLabelsPerTick, setYLabelString, setYMinmax, setYMinmaxObj
 
Methods inherited from class vis.beans.plotter.Viewport
addPropertyChangeListener, addVetoableChangeListener, createOffScrImage, getBeanContext, imagePaint, invokePrinterService, invokeSaveImageService, paintComponent, removePropertyChangeListener, removeVetoableChangeListener, serviceAvailable, serviceRevoked, setBeanContext, setOffScrGc
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getUIClassID, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

freqRange

protected int freqRange

binRange

protected double binRange

freqMinmax

protected int[] freqMinmax

binMinmaxObj

protected java.lang.Object binMinmaxObj

barWid

protected int barWid

barHt

protected int barHt

barHgt

protected int[] barHgt

frequency

protected int[][] frequency

binMinmax

protected java.lang.Object binMinmax

numBars

protected int numBars

barColor

protected java.awt.Color barColor

numPlots

protected int numPlots

yVector

protected java.util.Vector yVector

histColor

protected java.awt.Color[] histColor
Constructor Detail

MultiHistogram

public MultiHistogram()
Method Detail

setNumBars

public void setNumBars(int bars)
Sets the number of bars.
Parameters:
the - number of bars.

getNumBars

public int getNumBars()

setBarColor

public void setBarColor(java.awt.Color col)
Sets the color of the bars.
Parameters:
the - bar color.

getBarColor

public java.awt.Color getBarColor()
Returns:
the color of the bars.

drawPlot

public void drawPlot(java.lang.Object x,
                     java.lang.Object y)
Description copied from class: PlotViewport
Draws the plot. Currently, only the Auto mode is implemented. This method computes the minimum and maximum values from the x and y inputs. Once these are computed, it calls draw(). Before calling draw(), it sets the enableDraw to true. The enableDraw flag makes sure that the draw() method is called only after the executing drawPlot(). The draw() method is called by many property setter methods to reflect the change.
Overrides:
drawPlot in class PlotViewport
Following copied from class: vis.beans.plotter.PlotViewport
Parameters:
x - the x axis values as an array of primitive data types or String.
y - the y axis values as an array of primitive data types.

plotHistogram

public void plotHistogram(PlotEvent e)
This method plots the histogram. This can be used as a target method for for connecting other beans to the Histogram using plot events.
Parameters:
e - the PlotEvent

drawPlot

public void drawPlot(java.lang.Object data)
Plots the histogram.
Parameters:
data - an array of elements which can be of any Java primitive type.

computeHistogram

public void computeHistogram()

draw

public void draw()
Description copied from class: PlotViewport
This method does the actual drawing. In addition to being called by drawPlot(), this method is called by many setter methods so as to reflect a change in property. draw() calls methods calls methods to create a new plot temeplate, draw X and Y axes, ticks and lables. Some of these methods are ovverriden by sub classes.
Overrides:
draw in class PlotViewport

drawXTicks

public void drawXTicks(java.lang.Object minmax)
Description copied from class: PlotViewport
Draws X ticks.
Overrides:
drawXTicks in class PlotViewport
Following copied from class: vis.beans.plotter.PlotViewport
Parameters:
minmax - an array of size two that holds the X axis minimun maximum value.

drawYTicks

protected void drawYTicks(int[] minmax)

addGraph

public void addGraph(java.lang.Object x,
                     java.lang.Object y)
Description copied from class: PlotViewport
This method adds a graph.
Overrides:
addGraph in class PlotViewport
Following copied from class: vis.beans.plotter.PlotViewport
Parameters:
x - the x axis values as an array of primitive data types or String.
y - the y axis values as an array of primitive data types.

resetPlotViewport

public void resetPlotViewport()
Description copied from class: PlotViewport
Resets the plot viewport.
Overrides:
resetPlotViewport in class PlotViewport

paintGraphs

public void paintGraphs()
Description copied from class: PlotViewport
Paints all the graphs. This method is called by draw() to paint the actual plots.
Overrides:
paintGraphs in class PlotViewport