edu.northwestern.at.utils.plots
Class BarChartPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by edu.northwestern.at.utils.swing.DialogPanel
                      extended by edu.northwestern.at.utils.swing.ResultsPanel
                          extended by edu.northwestern.at.utils.plots.BarChartPanel
All Implemented Interfaces:
PrintableContainer, PrintableContents, SaveToFile, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class BarChartPanel
extends ResultsPanel
implements PrintableContents, SaveToFile

Generates a bar chart.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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  org.krysalis.jcharts.properties.AxisProperties axisProperties
          The axis properties.
protected  int barArea
          Approximate height of bar chart area.
protected  SaveableAxisChart chart
          The bar chart.
protected  org.krysalis.jcharts.properties.ChartProperties chartProperties
          The chart properties.
protected  org.krysalis.jcharts.chartData.DataSeries dataSeries
          The data series.
protected  boolean horizontal
          True if bars are horizontal.
protected  javax.swing.JLabel imageLabel
          Holds rendered chart image.
protected  org.krysalis.jcharts.properties.LegendProperties legendProperties
          The legend properties.
protected  java.awt.Dimension panelDimension
          Saves panel dimensions for optimizing paint method.
protected  XScrollPane scrollPane
          Scrollpane around bar chart.
 
Fields inherited from class edu.northwestern.at.utils.swing.ResultsPanel
results, resultsHeader, resultsTitle
 
Fields inherited from class edu.northwestern.at.utils.swing.DialogPanel
body, buttons, numButtons
 
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
BarChartPanel(java.lang.String[] xAxisLabels, double[] barValues, int width, int height, java.lang.String title, java.lang.String xTitle, java.lang.String yTitle, java.lang.String legendLabel, boolean horizontal, boolean showBarValues)
          Generate a bar chart in a JPanel.
 
Method Summary
 org.krysalis.jcharts.Chart getChart()
          Return the chart object.
 PrintableComponent getPrintableComponent(java.lang.String title, java.awt.print.PageFormat pageFormat)
          Return printable component.
 java.lang.Object getResults()
          Return the results object.
 void paint(java.awt.Graphics graphics)
          Paint component.
 void renderChart()
          Render the chart.
 
Methods inherited from class edu.northwestern.at.utils.swing.ResultsPanel
doPageSetup, doPrint, doPrintPreview, getResultsHeader, getResultsTitle, saveToFile, saveToFile, setResults, setResultsHeader, setResultsTitle
 
Methods inherited from class edu.northwestern.at.utils.swing.DialogPanel
add, add, add, add, add, addButton, addDefaultButton, addSmallButton, getBody, getButtons
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
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, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, 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
 
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, 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
 
Methods inherited from interface edu.northwestern.at.utils.swing.SaveToFile
saveToFile, saveToFile
 

Field Detail

chart

protected SaveableAxisChart chart
The bar chart.


dataSeries

protected org.krysalis.jcharts.chartData.DataSeries dataSeries
The data series.


chartProperties

protected org.krysalis.jcharts.properties.ChartProperties chartProperties
The chart properties.


axisProperties

protected org.krysalis.jcharts.properties.AxisProperties axisProperties
The axis properties.


legendProperties

protected org.krysalis.jcharts.properties.LegendProperties legendProperties
The legend properties.


panelDimension

protected java.awt.Dimension panelDimension
Saves panel dimensions for optimizing paint method.


imageLabel

protected javax.swing.JLabel imageLabel
Holds rendered chart image.


horizontal

protected boolean horizontal
True if bars are horizontal.


scrollPane

protected XScrollPane scrollPane
Scrollpane around bar chart.


barArea

protected int barArea
Approximate height of bar chart area.

Constructor Detail

BarChartPanel

public BarChartPanel(java.lang.String[] xAxisLabels,
                     double[] barValues,
                     int width,
                     int height,
                     java.lang.String title,
                     java.lang.String xTitle,
                     java.lang.String yTitle,
                     java.lang.String legendLabel,
                     boolean horizontal,
                     boolean showBarValues)
Generate a bar chart in a JPanel.

Parameters:
xAxisLabels - labels for x-axis.
barValues - double array of y-axis data.
width - plot width.
height - plot height.
title - plot title.
xTitle - x-axis title.
yTitle - y-axis title.
horizontal - true to display chart horizontally.
showBarValues - true to display values within each bar.
Method Detail

renderChart

public void renderChart()
Render the chart.


paint

public void paint(java.awt.Graphics graphics)
Paint component.

Overrides:
paint in class javax.swing.JComponent
Parameters:
graphics - The graphics object for this component.

Overridden to ensure the chart gets created and drawn.


getChart

public org.krysalis.jcharts.Chart getChart()
Return the chart object.

Returns:
The bar chart object. Null if the chart has not yet been drawn.

getResults

public java.lang.Object getResults()
Return the results object.

Overrides:
getResults in class ResultsPanel
Returns:
The bar chart object. Null if the chart has not yet been drawn.

getPrintableComponent

public PrintableComponent getPrintableComponent(java.lang.String title,
                                                java.awt.print.PageFormat pageFormat)
Return printable component.

Specified by:
getPrintableComponent in interface PrintableContents
Parameters:
title - Title for printing.
pageFormat - Page format for printing.
Returns:
Printable component.