|
|||||||||
| 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.AbstractChartPanel
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 |
private int |
zoom_button
Mouse button used for zooming |
private boolean |
zoom_enabled
Boolean allowing/disallowing zoom |
| Fields inherited from class com.approximatrix.charting.swing.AbstractChartPanel |
|---|
NO_SUCH_PAGE, PAGE_EXISTS |
| 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 |
enableZoom(boolean value)
Allows mouse selection for zooming |
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 |
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 |
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 com.approximatrix.charting.swing.AbstractChartPanel |
|---|
addChartRenderer, getBounds, getChartDataModel, getChartRenderer, getChartRenderer, getCoordSystem, getLegend, getPreferredSize, getTitle, mouseEntered, mouseExited, mouseMoved, setBounds, setChartDataModel, setChartRenderer, setCoordSystem, setLegend, setTitle |
| 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 |
|---|
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 |
|---|
public void paint(java.awt.Graphics graphics)
chart.render((Graphics2D)graphics)
paint in class AbstractChartPanelgraphics - the Graphics2D object to paint inpublic void render(java.awt.Graphics2D g)
render in interface Chartrender in class AbstractChartPanelg - 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.MouseMotionListenermouseDragged in class AbstractChartPanelpublic void mousePressed(java.awt.event.MouseEvent e)
mousePressed in interface java.awt.event.MouseListenermousePressed in class AbstractChartPanelpublic void mouseReleased(java.awt.event.MouseEvent e)
mouseReleased in interface java.awt.event.MouseListenermouseReleased in class AbstractChartPanelpublic void mouseClicked(java.awt.event.MouseEvent e)
mouseClicked in interface java.awt.event.MouseListenermouseClicked in class AbstractChartPanelpublic 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.Printableprint in class AbstractChartPaneljava.awt.print.PrinterException
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||