Class ALcdBusyLayerTreeNodeCellRenderer
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,TreeCellRenderer
- Direct Known Subclasses:
TLcdGXYBusyLayerTreeNodeCellRenderer
,TLspBusyLayerCellRenderer
This class is a wrapper around a TLcdLayerTreeNodeCellRenderer
, adding support for displaying a busy icon to the renderer.
A possible use case is to show another icon in the renderer when a GXY layer is being
asynchronously painted. This can be achieved by implementing the abstract methods and using the
TLcdGXYAsynchronousLayerMonitor
. When the abstract
methods indicate the layer is being painted, the icon used in the renderer will be replaced by
the painting icon of this renderer. When the layer is not being painted, it will use the delegate
renderer.
It extends from JComponent
for the sole purpose of satisfying an instanceof
check in javax.swing.JTree#updateUI(). Do not rely on this.
- Since:
- 11.0
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Fields inherited from class javax.swing.JComponent
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
accessibleContext, 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
ConstructorDescriptionALcdBusyLayerTreeNodeCellRenderer
(TLcdLayerTreeNodeCellRenderer aDelegateRenderer) Wrap a newALcdBusyLayerTreeNodeCellRenderer
aroundaDelegateRenderer
.ALcdBusyLayerTreeNodeCellRenderer
(TLcdLayerTreeNodeCellRenderer aDelegateRenderer, ILcdIcon aPaintingIcon, ILcdIcon aBusyIcon) Wrap a newALcdBusyLayerTreeNodeCellRenderer
aroundaDelegateRenderer
, where the painting icon isaPaintingIcon
and the busyiconaBusyIcon
. -
Method Summary
Modifier and TypeMethodDescriptionReturns the delegateTLcdLayerTreeNodeCellRenderer
.getTreeCellRendererComponent
(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) protected abstract boolean
isLayerOrDescendantBusy
(ILcdLayer aLayer) This method indicates whether or not the passed layer or one of its descendants is busy.protected abstract boolean
isLayerOrDescendantPainting
(ILcdLayer aLayer) This method indicates whether or not the passed layer or one of its descendants is painting.protected void
layerStateChanged
(ILcdLayer aLayer) Method which should be called by the implementing class when the result ofisLayerOrDescendantBusy(com.luciad.view.ILcdLayer)
orisLayerOrDescendantPainting(com.luciad.view.ILcdLayer)
changes foraLayer
.protected void
updateRendererFromLayer
(JTree aTree, ILcdLayer aLayer, boolean aSelected, boolean aExpanded, boolean aLeaf, int aRow, boolean aHasFocus, TLcdLayerTreeNodeCellRenderer aRenderer) Update the state of the renderer to match the state of layeraLayer
void
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, 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, paintComponent, 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
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, 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, 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
-
Constructor Details
-
ALcdBusyLayerTreeNodeCellRenderer
public ALcdBusyLayerTreeNodeCellRenderer(TLcdLayerTreeNodeCellRenderer aDelegateRenderer, ILcdIcon aPaintingIcon, ILcdIcon aBusyIcon) Wrap a new
ALcdBusyLayerTreeNodeCellRenderer
aroundaDelegateRenderer
, where the painting icon isaPaintingIcon
and the busyiconaBusyIcon
. This renderer can only be used on oneTLcdLayerTree
at the same time. The wrappedTLcdLayerTreeNodeCellRenderer
must not be set on another tree.- Parameters:
aDelegateRenderer
- the renderer which is wrappedaPaintingIcon
- the icon used to indicate the layer is being painted. The icon is automatically rotated, and assumed to not change its content (e.g. an image icon).aBusyIcon
- the icon used to indicate the layer is busy. The icon is automatically rotated, and assumed to not change its content (e.g. an image icon).
-
ALcdBusyLayerTreeNodeCellRenderer
Wrap a new
ALcdBusyLayerTreeNodeCellRenderer
aroundaDelegateRenderer
. This renderer can only be used on oneTLcdLayerTree
at the same time. The wrappedTLcdLayerTreeNodeCellRenderer
must not be set on another tree.- Parameters:
aDelegateRenderer
- the renderer which is wrapped
-
-
Method Details
-
updateUI
public void updateUI()- Overrides:
updateUI
in classJComponent
-
getTreeCellRendererComponent
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) - Specified by:
getTreeCellRendererComponent
in interfaceTreeCellRenderer
-
updateRendererFromLayer
protected void updateRendererFromLayer(JTree aTree, ILcdLayer aLayer, boolean aSelected, boolean aExpanded, boolean aLeaf, int aRow, boolean aHasFocus, TLcdLayerTreeNodeCellRenderer aRenderer) Update the state of the renderer to match the state of layer
aLayer
Custom overrides of this method should call this method to ensure animations are updated correctly.
- Parameters:
aTree
- the tree which is currently rendereraLayer
- the layer which state the renderer should matchaSelected
- iftrue
, the cell must be drawn as if selectedaExpanded
- iftrue
, the node is currently expandedaLeaf
- iftrue
, the node represents a leafaRow
- the row numberaHasFocus
- iftrue
, the node currently has focusaRenderer
- the wrapped renderer
-
layerStateChanged
Method which should be called by the implementing class when the result ofisLayerOrDescendantBusy(com.luciad.view.ILcdLayer)
orisLayerOrDescendantPainting(com.luciad.view.ILcdLayer)
changes foraLayer
.- Parameters:
aLayer
- The layer for which the state has changed
-
isLayerOrDescendantBusy
This method indicates whether or not the passed layer or one of its descendants is busy. The definition of busy can depend on the specific implementation.- Parameters:
aLayer
- a layer for which the busy state needs to be retrieved.- Returns:
- true if the layer is busy, false otherwise.
- See Also:
-
isLayerOrDescendantPainting
This method indicates whether or not the passed layer or one of its descendants is painting. When exactly a layer is painting can depend on the specific implementation.- Parameters:
aLayer
- a layer for which the painting state needs to be retrieved.- Returns:
- true if the layer is busy, false otherwise.
- See Also:
-
getDelegateRenderer
Returns the delegateTLcdLayerTreeNodeCellRenderer
.- Returns:
- the delegate
TLcdLayerTreeNodeCellRenderer
.
-