public abstract class GraphDisplay
extends javax.swing.JPanel
implements java.awt.print.Printable
A graphical UI component which lays out and draws one or more plots.
It may allow the user to resize and rearrange the plots,
and provides facilities to export the display to a
file and to print it via the standard Java printing interface.
This is an abstract superclass which cannot be instantiated
directly; concrete subclasses must implement the print
method.
javax.swing.JPanel.AccessibleJPanel
javax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and Description |
---|---|
protected java.util.Map<java.lang.String,Plot> |
plots
A map from internal plot names to the plots themselves.
|
protected java.awt.geom.AffineTransform |
zoomTransform
A transformation applied to the graphics before painting them,
intended to be used for zooming in and out of the display.
|
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Modifier and Type | Method and Description |
---|---|
void |
addCurrentDatumListener(CurrentDatumListener listener) |
protected java.awt.geom.AffineTransform |
getAntiZoom()
Returns the inverse transform of the zoom transform.
|
Plot |
getPlotByClassName(java.lang.String name)
Returns the plot with a specified class name.
|
java.util.Collection<Plot> |
getPlots()
Returns a collection of all the plots in this graph display.
|
java.lang.String |
getPlotSizeString()
Returns a string representation of all this display's plot sizes
and positions.
|
java.util.List<Plot> |
getVisiblePlots()
Returns a list of the plots which are currently visible.
|
protected boolean |
isDragPlotMode()
Reports whether the plots are currently draggable by the user.
|
void |
paint(java.awt.Graphics g)
Paints this graph display to a graphics context.
|
protected void |
printPlots(java.awt.print.PageFormat pf,
java.awt.Graphics graphics)
Prints all this display's plots to a graphics context.
|
void |
removeCurrentDatumListener(CurrentDatumListener listener) |
void |
resetLayout()
Resets each plot's size and position to their defaults.
|
void |
saveToSvgBatik(java.lang.String filename)
Writes the contents of this display to an SVG file using the Batik library.
|
void |
saveToSvgFreehep(java.lang.String filename)
Writes the contents of this display to an SVG file using the FreeHEP library.
|
protected void |
setDragPlotMode(boolean dragPlotMode)
Sets whether the plots are draggable by the user.
|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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
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, transferFocusDownCycle, validate, validateTree
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, 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, transferFocusBackward, transferFocusUpCycle
protected java.util.Map<java.lang.String,Plot> plots
protected java.awt.geom.AffineTransform zoomTransform
public java.lang.String getPlotSizeString()
Returns a string representation of all this display's plot sizes and positions. This is intended to be written to a preferences object, allowing the plot layout to be saved and restored.
public java.util.List<Plot> getVisiblePlots()
public java.util.Collection<Plot> getPlots()
public Plot getPlotByClassName(java.lang.String name)
name
- the name of a subclass of Plot
null
if there is nonepublic void paint(java.awt.Graphics g)
paint
in class javax.swing.JComponent
g
- the graphics context in which to paintprotected java.awt.geom.AffineTransform getAntiZoom()
Returns the inverse transform of the zoom transform. This can be used, for example, to map mouse clicks back to the graph display's original, untransformed co-ordinates.
protected boolean isDragPlotMode()
true
if the plots are currently draggable by the userprotected void setDragPlotMode(boolean dragPlotMode)
dragPlotMode
- true
to make the plots draggable;
false
to make them non-draggablepublic void resetLayout()
protected void printPlots(java.awt.print.PageFormat pf, java.awt.Graphics graphics)
pf
- the page format for printinggraphics
- the graphics context to which to drawpublic void saveToSvgBatik(java.lang.String filename)
filename
- the name of the file to which to writepublic void saveToSvgFreehep(java.lang.String filename) throws java.io.IOException
filename
- the name of the file to which to writejava.io.IOException
- if there is an error while writing the filepublic void addCurrentDatumListener(CurrentDatumListener listener)
public void removeCurrentDatumListener(CurrentDatumListener listener)