JSci.swing
Class JBarGraph

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by JSci.swing.JDoubleBufferedComponent
                  extended by JSci.swing.JCategoryGraph2D
                      extended by JSci.swing.JBarGraph
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, GraphDataListener
Direct Known Subclasses:
JLayeredBarGraph, JStackedBarGraph

public class JBarGraph
extends JCategoryGraph2D

A bar graph Swing component. Multiple series are side-by-side.

See Also:
Serialized Form

Nested Class Summary
 
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
protected  java.awt.Color[] barColor
          Bar colors.
protected  int barPad
          Padding.
protected  int barWidth
           
protected  float maxY
          Min and max data points.
protected  float minY
          Min and max data points.
protected  boolean numbering
          Axis numbering.
protected  java.text.NumberFormat yNumberFormat
           
 
Fields inherited from class JSci.swing.JCategoryGraph2D
axisPad, leftAxisPad, model, origin, scalePad
 
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
JBarGraph(CategoryGraph2DModel cgm)
          Constructs a bar graph.
 
Method Summary
 void addNotify()
           
 void dataChanged(GraphDataEvent e)
          Implementation of GraphDataListener.
protected  java.awt.Point dataToScreen(float x, float y)
          Converts a data point to screen coordinates.
protected  void drawAxes(java.awt.Graphics g)
          Draws the graph axes.
protected  void drawBars(java.awt.Graphics g)
          Draws the graph bars.
protected  void drawXLabel(java.awt.Graphics g, int x)
           
protected  void drawYLabel(java.awt.Graphics g, float y)
           
 java.awt.Color getColor(int n)
          Gets the bar color of the nth series.
 float getYIncrement()
          Returns the y-axis numbering increment.
 float getYMaximum()
           
 float getYMinimum()
           
protected  void offscreenPaint(java.awt.Graphics g)
          Paint the graph.
protected  void rescale()
          Rescales the bar graph.
protected  java.awt.geom.Point2D.Float screenToData(java.awt.Point p)
          Converts a screen point to data coordinates.
 void setBounds(int x, int y, int width, int height)
          Reshapes the bar graph to the specified bounding box.
 void setColor(int n, java.awt.Color c)
          Sets the bar color of the nth series.
 void setNumberFormat(java.text.NumberFormat format)
          Sets the display format used for axis numbering.
 void setNumbering(boolean flag)
          Turns axis numbering on/off.
 void setYIncrement(float dy)
          Sets the y-axis numbering increment.
 void setYNumberFormat(java.text.NumberFormat format)
          Sets the display format used for y-axis numbering.
 
Methods inherited from class JSci.swing.JCategoryGraph2D
getMinimumSize, getModel, getPreferredSize, setModel
 
Methods inherited from class JSci.swing.JDoubleBufferedComponent
getOffscreenGraphics, isDoubleBuffered, paintComponent, printComponent, redraw, setDoubleBuffered, update
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, 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, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, 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, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, 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
 

Field Detail

barColor

protected java.awt.Color[] barColor
Bar colors.


minY

protected float minY
Min and max data points.


maxY

protected float maxY
Min and max data points.


barWidth

protected int barWidth

barPad

protected final int barPad
Padding.

See Also:
Constant Field Values

numbering

protected boolean numbering
Axis numbering.


yNumberFormat

protected java.text.NumberFormat yNumberFormat
Constructor Detail

JBarGraph

public JBarGraph(CategoryGraph2DModel cgm)
Constructs a bar graph.

Method Detail

dataChanged

public void dataChanged(GraphDataEvent e)
Implementation of GraphDataListener. Application code will not use this method explicitly, it is used internally.

Specified by:
dataChanged in interface GraphDataListener
Specified by:
dataChanged in class JCategoryGraph2D

setColor

public final void setColor(int n,
                           java.awt.Color c)
Sets the bar color of the nth series.

Parameters:
n - the index of the series.
c - the line color.

getColor

public final java.awt.Color getColor(int n)
Gets the bar color of the nth series.

Parameters:
n - the index of the series.

setNumbering

public final void setNumbering(boolean flag)
Turns axis numbering on/off.


addNotify

public void addNotify()
Overrides:
addNotify in class javax.swing.JComponent

setNumberFormat

public final void setNumberFormat(java.text.NumberFormat format)
Sets the display format used for axis numbering. Convenience method.

See Also:
setYNumberFormat(NumberFormat)

setYNumberFormat

public final void setYNumberFormat(java.text.NumberFormat format)
Sets the display format used for y-axis numbering.


setYIncrement

public final void setYIncrement(float dy)
Sets the y-axis numbering increment.

Parameters:
dy - use 0.0f for auto-adjusting (default).

getYIncrement

public final float getYIncrement()
Returns the y-axis numbering increment.


getYMinimum

public final float getYMinimum()

getYMaximum

public final float getYMaximum()

drawAxes

protected final void drawAxes(java.awt.Graphics g)
Draws the graph axes.


drawXLabel

protected void drawXLabel(java.awt.Graphics g,
                          int x)

drawYLabel

protected void drawYLabel(java.awt.Graphics g,
                          float y)

drawBars

protected void drawBars(java.awt.Graphics g)
Draws the graph bars.


offscreenPaint

protected void offscreenPaint(java.awt.Graphics g)
Paint the graph.

Specified by:
offscreenPaint in class JDoubleBufferedComponent

setBounds

public final void setBounds(int x,
                            int y,
                            int width,
                            int height)
Reshapes the bar graph to the specified bounding box.

Overrides:
setBounds in class java.awt.Component

rescale

protected final void rescale()
Rescales the bar graph.


dataToScreen

protected final java.awt.Point dataToScreen(float x,
                                            float y)
Converts a data point to screen coordinates.


screenToData

protected final java.awt.geom.Point2D.Float screenToData(java.awt.Point p)
Converts a screen point to data coordinates.