|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
com.approximatrix.charting.swing.ExtendedChartPanel
public class ExtendedChartPanel
This Panel provides the possibility to include a Chart into a Swing Application. I choose not to make every Chart extend JComponent because of the overhead this would have meant. Instead, this class is an adaptor. It implements the Chart interface and contains a DefaultChart instance to which all Chart calls are promoted.
| 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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
| Field Summary | |
|---|---|
private int |
autoscale_button
Mouse button for restoring autoscale |
private ExtendedChart |
chart
The chart instance to which all method calls are promoted. |
private java.awt.Rectangle |
currentRect
The selection rectangle for processing purposes |
private java.awt.Rectangle |
grRect
The selection rectangle for actual drawing purposes |
static int |
NO_SUCH_PAGE
Constant stating page does not exist for printing |
static int |
PAGE_EXISTS
Constant stating page exists for printing |
private int |
zoom_button
Mouse button used for zooming |
private boolean |
zoom_enabled
Boolean allowing/disallowing zoom |
| 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 | |
|---|---|
private |
ExtendedChartPanel()
Creates new ChartPanel |
|
ExtendedChartPanel(ChartDataModel model,
java.lang.String title)
Creates a new ChartPanel with the given model and title string. |
|
ExtendedChartPanel(ChartDataModel model,
java.lang.String title,
int coord)
Creates a new ChartPanel with the given model and title string and a coordinate system. |
| Method Summary | |
|---|---|
void |
addChartRenderer(AbstractChartRenderer renderer,
int z)
Adds a ChartRenderer with a specific z-coordinate. |
void |
enableZoom(boolean value)
Allows mouse selection for zooming |
java.awt.Rectangle |
getBounds()
Returns the Bounds for the ChartPanel. |
ChartDataModel |
getChartDataModel()
Returns the ChartDataModel. |
java.util.Map |
getChartRenderer()
Returns the Map of all ChartRenderers. |
AbstractChartRenderer |
getChartRenderer(int z)
Returns the ChartRenderer with a specific z-coordinate. |
CoordSystem |
getCoordSystem()
Returns the coordinate system. |
Legend |
getLegend()
Returns this chart's legend. |
java.awt.Dimension |
getPreferredSize()
Computes the preferred size of the ChartPanel. |
Title |
getTitle()
Returns the title for this chart. |
private void |
initComponents()
This method is write-protected by the IDE but isn't used at all. |
boolean |
isEnableZoom()
Returns whether or not dynamic zoom is enabled |
void |
mouseClicked(java.awt.event.MouseEvent e)
Registers a clicked event, and, if zoom is enabled, will return the graph to autoscaling if the button causing the event is equivalent to autoscale_button. |
void |
mouseDragged(java.awt.event.MouseEvent e)
Registers a mouse dragged event and updates the size of the selection rectangle being drawn on the panel if appropriate. |
void |
mouseEntered(java.awt.event.MouseEvent e)
Registers a mouse entered event (unused - for interface compatibility only) |
void |
mouseExited(java.awt.event.MouseEvent e)
Registers a mouse exited event (unused - for interface compatibility only) |
void |
mouseMoved(java.awt.event.MouseEvent e)
Registers a mouse moved event (unused - for interface compatibility only) |
void |
mousePressed(java.awt.event.MouseEvent e)
Registers the first press of a mouse button for selection purposes |
void |
mouseReleased(java.awt.event.MouseEvent e)
Registers the release of the mouse button and disables selection mode |
void |
paint(java.awt.Graphics graphics)
Paints the ChartPanel. |
void |
paintComponent(java.awt.Graphics g)
Calls the JPanel's paintComponent(g) method only |
void |
performAutoScale()
Performs an autoscale, but does not perform any disabling of zooming of the plot panel. |
int |
print(java.awt.Graphics g,
java.awt.print.PageFormat pf,
int page)
Implements the Printable print interface. |
void |
render(java.awt.Graphics2D g)
Does the layout of the title, legend and coordinate system and calls the render method of all those including the ChartRenderers. |
void |
setAutoscaleMouseButton(int button)
Sets the mouse button used to register a return to autoscaling by clicking. |
void |
setBounds(java.awt.Rectangle r)
Sets the Bounds for this Chart. |
void |
setChartDataModel(ChartDataModel model)
Stores the ChartDataModel for this Chart. |
void |
setChartRenderer(java.util.Map renderer)
Sets the Map with all ChartRenderers. |
void |
setCoordSystem(CoordSystem c)
Sets the coordinate system for this chart, which can be null if the ChartRenderer doesn't need a coordinate system, e.g. |
void |
setLegend(Legend l)
Sets the legend for this chart. |
void |
setTitle(Title t)
Sets the title for this chart. |
void |
setZoomMouseButton(int button)
Sets the mouse button used fo dynamic scaling. |
private void |
updateSize(java.awt.event.MouseEvent e)
Updates the zoom rectangles to draw based on a passed-in MouseEvent. |
| 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, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, 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, 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 |
|---|
public static final int PAGE_EXISTS
public static final int NO_SUCH_PAGE
private boolean zoom_enabled
private int zoom_button
private int autoscale_button
private java.awt.Rectangle currentRect
private java.awt.Rectangle grRect
private ExtendedChart chart
| Constructor Detail |
|---|
private ExtendedChartPanel()
public ExtendedChartPanel(ChartDataModel model,
java.lang.String title)
model - the ChartDataModeltitle - the title String
public ExtendedChartPanel(ChartDataModel model,
java.lang.String title,
int coord)
model - the ChartDataModeltitle - the title Stringcoord - the id of the coordinate system configuration| Method Detail |
|---|
private void initComponents()
public void addChartRenderer(AbstractChartRenderer renderer,
int z)
addChartRenderer in interface Chartrenderer - the ChartRendererz - its z-coordinate.public java.awt.Rectangle getBounds()
getBounds in interface ChartgetBounds in class java.awt.Componentpublic ChartDataModel getChartDataModel()
getChartDataModel in interface Chartpublic java.util.Map getChartRenderer()
getChartRenderer in interface Chartpublic AbstractChartRenderer getChartRenderer(int z)
getChartRenderer in interface Chartz - the z-coordinate of the desired ChartRenderer.
null if none has been found.public CoordSystem getCoordSystem()
getCoordSystem in interface Chartnull.public Legend getLegend()
getLegend in interface Chartnull.public Title getTitle()
getTitle in interface Chartnull.public void setBounds(java.awt.Rectangle r)
setBounds in interface ChartsetBounds in class java.awt.Componentr - the Rectangle object defining the boundspublic void setChartDataModel(ChartDataModel model)
setChartDataModel in interface Chartmodel - the ChartDataModelpublic void setChartRenderer(java.util.Map renderer)
setChartRenderer in interface Chartrenderer - The Map of ChartRenderers.public void setCoordSystem(CoordSystem c)
setCoordSystem in interface Chartc - The Coordinate System for the Chart.public void setLegend(Legend l)
setLegend in interface Chartl - The Legend this Chart contains.public void setTitle(Title t)
setTitle in interface Chartt - This Chart's Title.public java.awt.Dimension getPreferredSize()
getPreferredSize in class javax.swing.JComponentnew java.awt.Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE)public void paint(java.awt.Graphics graphics)
chart.render((Graphics2D)graphics)
paint in class javax.swing.JComponentgraphics - the Graphics2D object to paint inpublic void render(java.awt.Graphics2D g)
render in interface Chartg - the Graphics2D object to paint in.
Just calls paint(Graphics).public void paintComponent(java.awt.Graphics g)
paintComponent in class javax.swing.JComponentpublic void mouseDragged(java.awt.event.MouseEvent e)
mouseDragged in interface java.awt.event.MouseMotionListenerpublic void mousePressed(java.awt.event.MouseEvent e)
mousePressed in interface java.awt.event.MouseListenerpublic void mouseReleased(java.awt.event.MouseEvent e)
mouseReleased in interface java.awt.event.MouseListenerpublic void mouseEntered(java.awt.event.MouseEvent e)
mouseEntered in interface java.awt.event.MouseListenerpublic void mouseExited(java.awt.event.MouseEvent e)
mouseExited in interface java.awt.event.MouseListenerpublic void mouseMoved(java.awt.event.MouseEvent e)
mouseMoved in interface java.awt.event.MouseMotionListenerpublic void mouseClicked(java.awt.event.MouseEvent e)
mouseClicked in interface java.awt.event.MouseListenerpublic void performAutoScale()
public void enableZoom(boolean value)
value - true to allow dynamic zoom, false otherwisepublic boolean isEnableZoom()
public void setAutoscaleMouseButton(int button)
button - the button to use, usually taken from MouseEvent.{BUTTON1, BUTTON2, BUTTON3}public void setZoomMouseButton(int button)
button - the button to use, usually taken from MouseEvent.{BUTTON1, BUTTON2, BUTTON3}private void updateSize(java.awt.event.MouseEvent e)
e - a MouseEvent from which to extract data
public int print(java.awt.Graphics g,
java.awt.print.PageFormat pf,
int page)
throws java.awt.print.PrinterException
print in interface java.awt.print.Printablejava.awt.print.PrinterException
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||