com.jgoodies.chart
Class AbstractChart<T>

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by com.jgoodies.chart.AbstractChart<T>
Type Parameters:
T - the type of this chart's model data
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable
Direct Known Subclasses:
BarChart, PieChart

public abstract class AbstractChart<T>
extends JComponent

The abstract superclass of all chart classes; provides caching behavior and code common to all subclasses.

Version:
$Revision: 1.9 $
Author:
Karsten Lentzsch
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected static Color INNER_SHADOW_COLOR
           
protected  ChartModel<T> model
           
protected static Color OUTER_SHADOW_COLOR
           
protected  boolean printingDevice
           
static String PROPERTYNAME_FORMAT
           
static String PROPERTYNAME_MODEL
           
static String PROPERTYNAME_SHOW_SIZE
           
 
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
protected AbstractChart()
           
protected AbstractChart(Format format)
           
 
Method Summary
protected  boolean cacheIsValid()
           
protected  void ensureValidCache()
           
protected  String formatSize(long value)
          Formats the chart data's value and returns the formatted string.
 T getDataAt(Point position)
          Returns the ChartData at the given position.
 Format getFormat()
           
protected abstract  int getIndexAt(Point position)
          Returns the index of the chart data for the given position.
 ChartModel<T> getModel()
           
 boolean getShowSize()
           
protected  boolean hasEmptyModel()
           
protected  void invalidateCache()
           
 void paint(Graphics g)
           
 void print(Graphics g)
           
protected abstract  void render(Graphics2D g)
          Renders the chart on the specified Graphics2D.
 void setFormat(Format newFormat)
           
 void setModel(ChartModel<T> newModel)
           
 void setShowSize(boolean newValue)
           
 void updateUI()
           
protected abstract  void validateCache()
           
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, 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, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, 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
 

Field Detail

PROPERTYNAME_MODEL

public static final String PROPERTYNAME_MODEL
See Also:
Constant Field Values

PROPERTYNAME_FORMAT

public static final String PROPERTYNAME_FORMAT
See Also:
Constant Field Values

PROPERTYNAME_SHOW_SIZE

public static final String PROPERTYNAME_SHOW_SIZE
See Also:
Constant Field Values

OUTER_SHADOW_COLOR

protected static final Color OUTER_SHADOW_COLOR

INNER_SHADOW_COLOR

protected static final Color INNER_SHADOW_COLOR

model

protected ChartModel<T> model

printingDevice

protected boolean printingDevice
Constructor Detail

AbstractChart

protected AbstractChart()

AbstractChart

protected AbstractChart(Format format)
Method Detail

getModel

public final ChartModel<T> getModel()

setModel

public final void setModel(ChartModel<T> newModel)

getFormat

public final Format getFormat()

setFormat

public final void setFormat(Format newFormat)

getShowSize

public final boolean getShowSize()

setShowSize

public final void setShowSize(boolean newValue)

getDataAt

public final T getDataAt(Point position)
Returns the ChartData at the given position.


getIndexAt

protected abstract int getIndexAt(Point position)
Returns the index of the chart data for the given position.


render

protected abstract void render(Graphics2D g)
Renders the chart on the specified Graphics2D.


validateCache

protected abstract void validateCache()

formatSize

protected final String formatSize(long value)
Formats the chart data's value and returns the formatted string. Subclasses will typically override this.


hasEmptyModel

protected final boolean hasEmptyModel()

invalidateCache

protected final void invalidateCache()

cacheIsValid

protected final boolean cacheIsValid()

ensureValidCache

protected final void ensureValidCache()

paint

public void paint(Graphics g)
Overrides:
paint in class JComponent

print

public void print(Graphics g)
Overrides:
print in class JComponent

updateUI

public void updateUI()
Overrides:
updateUI in class JComponent


Copyright © 2000-2008 JGoodies Karsten Lentzsch. All Rights Reserved.