Class TLcdLayerTreeNodeCellRenderer
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
,TreeCellRenderer
- Direct Known Subclasses:
TLcdGXYLayerTreeNodeCellRenderer
,TLspLayerTreeNodeCellRenderer
A TreeCellRenderer
for visualizing
ILcdLayer
s and ILcdLayerTreeNode
s in a JTree
.
For every layer it shows:
- A checkbox to toggle the visibility (see
getCheckBox()
) - The icon of the layer (see
ILcdLayer#getIcon()
) - The label of the layer (see
ILcdLayer#getLabel()
andgetLabel()
)
The standard behavior of toggling the checkbox is to toggle the visibility of the layer. This
behavior can be altered by overwriting the updateLayerFromRenderer(com.luciad.view.ILcdLayer)
method. This method will always be called when the checkbox changes state.
The visualisation of a layer can be adjusted by overwriting the updateRendererFromLayer
method.
- Since:
- 9.0
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
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
ConstructorDescriptionCreate a new renderer for a layer tree with an icon height and width of 16.TLcdLayerTreeNodeCellRenderer
(ILcdTreeLayered aView, int aIconWidth, int aIconHeight) Create a new renderer for a layer tree with the specified icon height and width. -
Method Summary
Modifier and TypeMethodDescriptionReturns the visibility checkbox.The default icon, used for leafs that don't have an icon.The default icon, used for nodes (not leafs) that don't have an icon.getLabel()
Returns theJLabel
visualizing the label of the layergetTreeCellRendererComponent
(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) void
setDefaultLeafIcon
(ILcdIcon aDefaultLeafIcon) Sets the default icon, used for leafs that don't have an icon.void
setDefaultNodeIcon
(ILcdIcon aDefaultNodeIcon) Sets the default icon, used for nodes (not leafs) that don't have an icon.protected void
updateLayerFromRenderer
(ILcdLayer aLayer) Updates the layer to match the state of the renderer.protected void
updateRendererFromLayer
(JTree aTree, ILcdLayer aLayer, boolean aSelected, boolean aExpanded, boolean aLeaf, int aRow, boolean aHasFocus) Update the state of the renderer to match the state of the given layer.Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, 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, 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, paint, 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
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, 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
-
TLcdLayerTreeNodeCellRenderer
Create a new renderer for a layer tree with the specified icon height and width. Layer icons that are larger as the specified size are resized to fit. Layer icons that are smaller as the given icon size are painted centered.
This renderer can only be used on one
LayerTree
at the same time.- Parameters:
aView
- theILcdTreeLayered
containing the layers which will be displayed in the layer tree.aIconWidth
- the height of the iconaIconHeight
- the width of the icon
-
TLcdLayerTreeNodeCellRenderer
Create a new renderer for a layer tree with an icon height and width of 16. This renderer can only be used on one
LayerTree
at the same time.- Parameters:
aView
- theILcdTreeLayered
containing the layers which will be displayed in the layer tree
-
-
Method Details
-
getDefaultNodeIcon
The default icon, used for nodes (not leafs) that don't have an icon.- Returns:
- the default icon, used for nodes (not leafs) that don't have an icon. Can be
null
. - See Also:
-
setDefaultNodeIcon
Sets the default icon, used for nodes (not leafs) that don't have an icon.- Parameters:
aDefaultNodeIcon
- The new default node icon, can benull
.- See Also:
-
getDefaultLeafIcon
The default icon, used for leafs that don't have an icon.- Returns:
- the default icon, used for leafs that don't have an icon. Can be
null
. - See Also:
-
setDefaultLeafIcon
Sets the default icon, used for leafs that don't have an icon.- Parameters:
aDefaultLeafIcon
- The new default leaf icon, can benull
.- See Also:
-
updateLayerFromRenderer
Updates the layer to match the state of the renderer. This method is called whenever the checkbox is clicked. The default behavior updates the layer's visibility. If the layer is anempty tree node
, it will update the visibility of the child layers.- Parameters:
aLayer
- the layer to be updated
-
getLabel
Returns theJLabel
visualizing the label of the layer- Returns:
- the
JLabel
visualizing the label of the layer
-
getTreeCellRendererComponent
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) - Specified by:
getTreeCellRendererComponent
in interfaceTreeCellRenderer
-
getPreferredSize
- Overrides:
getPreferredSize
in classJComponent
-
updateRendererFromLayer
protected void updateRendererFromLayer(JTree aTree, ILcdLayer aLayer, boolean aSelected, boolean aExpanded, boolean aLeaf, int aRow, boolean aHasFocus) Update the state of the renderer to match the state of the given layer. Override this method if you want to customize, for example, the appearance or content of thelabel
, or the displayedtool tip text
.- Parameters:
aTree
- the tree which is currently renderedaLayer
- 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 focus
-
getCheckBox
Returns the visibility checkbox.
- Returns:
- the visibility checkbox
-