bookExamples.ch27BusinessGraphics.charts
Class PieGraph

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by bookExamples.ch27BusinessGraphics.charts.PieGraph
All Implemented Interfaces:
Paintable, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class PieGraph
extends javax.swing.JComponent
implements Paintable

PieGraph implements the Drawable interface and uses the update method to draw a pie graphics.graph on a Canvas. Requires an instance of DoubleDataBean in order to be constructed.
Global variables:

Since:
JDK 1.3
Author:
Allison McHenry, Douglas Lyon, PhD
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, 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
PieGraph()
          Default constructor, used to instantiate an instance of PieGraph by the testing class
PieGraph(DoubleDataBean _dd)
          Constructor used to set the data, labels and title only
PieGraph(int _radius)
          Constructor used to set just the radius
PieGraph(int w, int h)
          Constructor used to set just the radius
 
Method Summary
 int getCenterX()
          Gets the X coordinate of the center of the pie graphics.graph.
 int getCenterY()
          Gets the Y coordinate of the center of the pie graphics.graph.
 java.lang.String[] getLabels()
          Gets pie graphics.graph labels.
 java.awt.Dimension getMinimumSize()
           
 java.awt.Dimension getPreferredSize()
           
 int getRadius()
          Gets the pie graphics.graph radius.
 double getStartAngle()
          Gets the point on the circle where the pie should begin to be drawn.
static void main(java.lang.String[] args)
           
 void paint(java.awt.Graphics g)
          Calls the update method to paint this data from DoubleDataBean onto an image.
 void setCenterX(int _centerX)
          Sets the X coordinate of the center of the pie graphics.graph.
 void setCenterY(int _centerY)
          Sets the Y coordinate of the center of the pie graphics.graph.
 void setLabels(java.lang.String[] _labels)
          Sets pie graphics.graph labels.
 void setLocation(int x, int y)
          Sets the center of the pie graphics.graph X and Y coordinates.
 void setRadius(int _radius)
           
 void setStartAngle(double _startAngle)
          Sets the point on the circle where the pie should begin to be drawn.
 void setValues(double[] _x)
           
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, 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, 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, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PieGraph

public PieGraph()
Default constructor, used to instantiate an instance of PieGraph by the testing class

Parameters:
_dd - instance of DoubleDataBean used to draw the graphics.graph

PieGraph

public PieGraph(int _radius)
Constructor used to set just the radius

Parameters:
_radius - The pie radius

PieGraph

public PieGraph(int w,
                int h)
Constructor used to set just the radius

Parameters:
w - the image width
h - the image height

PieGraph

public PieGraph(DoubleDataBean _dd)
Constructor used to set the data, labels and title only

Parameters:
_x - The data to graphics.graph
_labels - The labels which correspond to the data elements
_title - The title of the graphics.graph
Method Detail

getPreferredSize

public java.awt.Dimension getPreferredSize()
Overrides:
getPreferredSize in class javax.swing.JComponent

getMinimumSize

public java.awt.Dimension getMinimumSize()
Overrides:
getMinimumSize in class javax.swing.JComponent

setLocation

public void setLocation(int x,
                        int y)
Sets the center of the pie graphics.graph X and Y coordinates.

Overrides:
setLocation in class java.awt.Component
Parameters:
_x - X coordinate of center of pie graphics.graph
_y - Y coordinate of center of pie graphics.graph

setValues

public void setValues(double[] _x)

setStartAngle

public void setStartAngle(double _startAngle)
Sets the point on the circle where the pie should begin to be drawn.

Parameters:
_startAngle - Pie graphics.graph start angle

setCenterX

public void setCenterX(int _centerX)
Sets the X coordinate of the center of the pie graphics.graph.

Parameters:
_centerX - X-coordinate of center of pie

setCenterY

public void setCenterY(int _centerY)
Sets the Y coordinate of the center of the pie graphics.graph.

Parameters:
_centerY - Y-coordinate of center of pie

setLabels

public void setLabels(java.lang.String[] _labels)
Sets pie graphics.graph labels. Each label should correspond to one data point in the X array.

Parameters:
_labels - Pie graphics.graph labels

setRadius

public void setRadius(int _radius)

getRadius

public int getRadius()
Gets the pie graphics.graph radius.

Returns:
radius Pie graphics.graph radius

getStartAngle

public double getStartAngle()
Gets the point on the circle where the pie should begin to be drawn.

Returns:
_startAngle Pie graphics.graph start angle

getCenterX

public int getCenterX()
Gets the X coordinate of the center of the pie graphics.graph.

Returns:
centerX X-coordinate of center of pie

getCenterY

public int getCenterY()
Gets the Y coordinate of the center of the pie graphics.graph.

Returns:
centerY Y-coordinate of center of pie

getLabels

public java.lang.String[] getLabels()
Gets pie graphics.graph labels. Each label should correspond to one data point in the X array.

Returns:
_labels Pie graphics.graph labels

paint

public void paint(java.awt.Graphics g)
Calls the update method to paint this data from DoubleDataBean onto an image. It calls update instead of overriding the paint method directly because "paint" is a specialized method name and it conflicts with the "paint" method in the PieGraphCanvas class.

Specified by:
paint in interface Paintable
Overrides:
paint in class javax.swing.JComponent
Parameters:
g - Graphics context for drawing
See Also:
PieGraphPanel.#update

main

public static void main(java.lang.String[] args)