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.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested 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_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionALcdBusyLayerTreeNodeCellRenderer(TLcdLayerTreeNodeCellRenderer aDelegateRenderer) Wrap a newALcdBusyLayerTreeNodeCellRendereraroundaDelegateRenderer.ALcdBusyLayerTreeNodeCellRenderer(TLcdLayerTreeNodeCellRenderer aDelegateRenderer, ILcdIcon aPaintingIcon, ILcdIcon aBusyIcon) Wrap a newALcdBusyLayerTreeNodeCellRendereraroundaDelegateRenderer, where the painting icon isaPaintingIconand 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 booleanisLayerOrDescendantBusy(ILcdLayer aLayer) This method indicates whether or not the passed layer or one of its descendants is busy.protected abstract booleanisLayerOrDescendantPainting(ILcdLayer aLayer) This method indicates whether or not the passed layer or one of its descendants is painting.protected voidlayerStateChanged(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 voidupdateRendererFromLayer(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 layeraLayervoidupdateUI()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, updateMethods 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, validateTreeMethods 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
ALcdBusyLayerTreeNodeCellRendereraroundaDelegateRenderer, where the painting icon isaPaintingIconand the busyiconaBusyIcon. This renderer can only be used on oneTLcdLayerTreeat the same time. The wrappedTLcdLayerTreeNodeCellRenderermust 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
ALcdBusyLayerTreeNodeCellRendereraroundaDelegateRenderer. This renderer can only be used on oneTLcdLayerTreeat the same time. The wrappedTLcdLayerTreeNodeCellRenderermust not be set on another tree.- Parameters:
aDelegateRenderer- the renderer which is wrapped
-
-
Method Details
-
updateUI
public void updateUI()- Overrides:
updateUIin classJComponent
-
getTreeCellRendererComponent
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) - Specified by:
getTreeCellRendererComponentin 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
aLayerCustom 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.
-