java.awt.image.ImageObserver
, java.awt.MenuContainer
, java.io.Serializable
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, transferFocusUpCycle
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, 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
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, 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, updateUI
public 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.Container
protected void paintComponent(java.awt.Graphics g)
paintComponent
in class javax.swing.JComponent
public 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.