public class PlotDisplay<P,A>
extends javax.swing.JComponent
This class can be used as-is, or as a template.
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy| Modifier and Type | Field | Description |
|---|---|---|
static java.lang.String |
ASPECTS_PROPERTY |
Name of property that changes when plot Aspects are reset.
|
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT| Constructor | Description |
|---|---|
PlotDisplay(Ganger<P,A> ganger,
SurfaceFactory<P,A> surfFact,
int nz,
ZoneContent[] zoneContents,
P[] profiles,
A[] aspects,
ShadeAxisFactory[] shadeFacts,
Range[] shadeFixRanges,
Navigator<A> navigator,
PaperTypeSelector ptSel,
Compositor compositor,
DataStore dataStore,
PlotCaching caching) |
Constructs a PlotDisplay that shows multiple plot surfaces.
|
PlotDisplay(SurfaceFactory<P,A> surfFact,
PlotLayer[] layers,
P profile,
javax.swing.Icon legend,
float[] legPos,
java.lang.String title,
A aspect,
ShadeAxisFactory shadeFact,
Range shadeFixRange,
Navigator<A> navigator,
PaperTypeSelector ptSel,
Compositor compositor,
Padding padding,
DataStore dataStore,
PlotCaching caching) |
Constructs a PlotDisplay that shows a single plot surface.
|
| Modifier and Type | Method | Description |
|---|---|---|
void |
addPointSelectionListener(PointSelectionListener psl) |
Adds a listener which will be notified when the user clicks on
the plot region to select a point.
|
void |
clearPlot() |
Clears the current cached plot image, if any, so that regeneration
of the image from the data is forced when the next paint operation
is performed; otherwise it may be copied from a cached image.
|
static <P,A> PlotDisplay<P,A> |
createGangDisplay(Ganger<P,A> ganger,
SurfaceFactory<P,A> surfFact,
int nz,
ZoneContent[] contents,
P[] profiles,
ConfigMap[] aspectConfigs,
ShadeAxisFactory[] shadeFacts,
Range[] shadeFixRanges,
Navigator<A> navigator,
PaperTypeSelector ptSel,
Compositor compositor,
DataStore dataStore,
PlotCaching caching) |
Utility method to construct a ganged PlotDisplay, with aspect
obtained from a supplied config map.
|
static <P,A> PlotDisplay |
createPlotDisplay(PlotLayer[] layers,
SurfaceFactory<P,A> surfFact,
ConfigMap config,
javax.swing.Icon legend,
float[] legPos,
java.lang.String title,
ShadeAxisFactory shadeFact,
Range shadeFixRange,
PaperTypeSelector ptSel,
Compositor compositor,
Padding padding,
DataStore dataStore,
boolean navigable,
PlotCaching caching) |
Utility method to construct a single-zoned PlotDisplay,
with profile, aspect and navigator obtained from a supplied config map.
|
A[] |
getAspects() |
Returns the most recently set aspects.
|
static java.util.Map<AuxScale,Range> |
getAuxRanges(PlotLayer[] layers,
Surface surface,
Range shadeFixRange,
ShadeAxisFactory shadeFact,
java.lang.Object[] plans,
DataStore dataStore) |
Gathers requested ranging information from data.
|
Surface[] |
getSurfaces() |
Returns the current plot surfaces.
|
void |
invalidate() |
|
protected void |
paintComponent(java.awt.Graphics g) |
|
void |
removePointSelectionListener(PointSelectionListener psl) |
Removes a previously added point selection listener.
|
void |
setAspects(A[] aspects) |
Sets the aspects of the plot zones.
|
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, getAccessibleContext, 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, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycleadd, 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, 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, validateTreeaddAncestorListener, 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, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, 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, updateUIpublic static final java.lang.String ASPECTS_PROPERTY
public PlotDisplay(Ganger<P,A> ganger, SurfaceFactory<P,A> surfFact, int nz, ZoneContent[] zoneContents, P[] profiles, A[] aspects, ShadeAxisFactory[] shadeFacts, Range[] shadeFixRanges, Navigator<A> navigator, PaperTypeSelector ptSel, Compositor compositor, DataStore dataStore, PlotCaching caching)
ganger - defines plot surface groupingsurfFact - surface factorynz - number of plot zones in groupzoneContents - plot content by zone (nz-element array)profiles - plot surface profiles by zone (nz-element array)aspects - plot surface aspects by zone (nz-element array)shadeFacts - shader axis factories by zone (nz-element array),
elements may be null if not requiredshadeFixRanges - fixed shader ranges by zone (nz-element array)
elements may be null for auto-range or if no
shade axisnavigator - user gesture navigation controller,
or null for a non-interactive plotptSel - paper type selectorcompositor - compositor for pixel compositiondataStore - data storage objectcaching - plot caching policypublic PlotDisplay(SurfaceFactory<P,A> surfFact, PlotLayer[] layers, P profile, javax.swing.Icon legend, float[] legPos, java.lang.String title, A aspect, ShadeAxisFactory shadeFact, Range shadeFixRange, Navigator<A> navigator, PaperTypeSelector ptSel, Compositor compositor, Padding padding, DataStore dataStore, PlotCaching caching)
surfFact - surface factorylayers - plot layers to be paintedprofile - surface profilelegend - legend icon if required, or nulllegPos - legend position if intenal legend is required;
2-element (x,y) array, each element in range 0-1title - title text, or nullaspect - plot surface aspectshadeFact - shader axis factory, or null if not requiredshadeFixRange - fixed shader range, or null for auto-rangenavigator - user gesture navigation controller,
or null for a non-interactive plotptSel - paper type selectorcompositor - compositor for pixel compositionpadding - user requirements for external spacedataStore - data storage objectcaching - plot caching policypublic void clearPlot()
invalidate(),
but may also be called manually, for instance if the data in the
data store may have changed.public void addPointSelectionListener(PointSelectionListener psl)
psl - listener to addpublic void removePointSelectionListener(PointSelectionListener psl)
psl - listener to removepublic void invalidate()
invalidate in class java.awt.Containerprotected void paintComponent(java.awt.Graphics g)
paintComponent in class javax.swing.JComponentpublic void setAspects(A[] aspects)
aspects - per-zone array of required aspectspublic A[] getAspects()
public Surface[] getSurfaces()
@Slow public static <P,A> PlotDisplay createPlotDisplay(PlotLayer[] layers, SurfaceFactory<P,A> surfFact, ConfigMap config, javax.swing.Icon legend, float[] legPos, java.lang.String title, ShadeAxisFactory shadeFact, Range shadeFixRange, PaperTypeSelector ptSel, Compositor compositor, Padding padding, DataStore dataStore, boolean navigable, PlotCaching caching)
layers - layers constituting plot contentsurfFact - surface factoryconfig - map containing surface profile, initial aspect
and navigator configurationlegend - legend icon, or null if none requiredlegPos - 2-element array giving x,y fractional legend placement
position within plot (elements in range 0..1),
or null for external legendtitle - plot title, or nullshadeFact - makes shader axis, or null if not requiredshadeFixRange - fixed shader range,
or null for auto-range where requiredptSel - paper type selectorcompositor - compositor for pixel compositionpadding - user requirements for external spacedataStore - data storage objectnavigable - true for an interactive plotcaching - plot caching policy@Slow public static <P,A> PlotDisplay<P,A> createGangDisplay(Ganger<P,A> ganger, SurfaceFactory<P,A> surfFact, int nz, ZoneContent[] contents, P[] profiles, ConfigMap[] aspectConfigs, ShadeAxisFactory[] shadeFacts, Range[] shadeFixRanges, Navigator<A> navigator, PaperTypeSelector ptSel, Compositor compositor, DataStore dataStore, PlotCaching caching)
ganger - definses plot groupingsurfFact - surface factorynz - number of plot zones in groupcontents - per-zone content information (nz-element array)profiles - per-zone profiles (nz-element array)aspectConfigs - per-zone config map providing entries
for surf.getAspectKeys (nz-element arrays)shadeFacts - shader axis factorys by zone (nz-element array),
elements may be null if not requiredshadeFixRanges - fixed shader ranges by zone (nz-element array)
elements may be null for auto-range or if no
shade axisnavigator - user gesture navigation controller,
or null for a non-interactive plotptSel - paper type selectorcompositor - compositor for pixel compositiondataStore - data storage objectcaching - plot caching policy
on every repaint@Slow public static java.util.Map<AuxScale,Range> getAuxRanges(PlotLayer[] layers, Surface surface, Range shadeFixRange, ShadeAxisFactory shadeFact, java.lang.Object[] plans, DataStore dataStore)
layers - plot layerssurface - plot surfaceshadeFixRange - fixed shade range limits, if anyshadeFact - makes shader axis, or nullplans - array of calculated plan objects, or nulldataStore - data storage objectCopyright © 2018 Central Laboratory of the Research Councils. All Rights Reserved.