Class WrappingIconPanel
- All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, Scrollable, AlphaPaintable, BackgroundPaintable, IconAware, PainterAware
Supports setting an icon for the node and a delegate component which is used to show the text/content of the node. The delegate component can be shared across renderers.
This implements the PainterAware by delegating to the delegate component if that is of type PainterAware. Does nothing if not.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected JComponentprivate booleanprivate boolean(package private) JLabel(package private) int(package private) Stringprivate Borderprivate BorderFields inherited from class JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionInstantiates and configures a WrappingIconPanel with the dropHack enabled.WrappingIconPanel(boolean dropHackEnabled) Instantiates and configures a WrappingIconPanel with the dropHack property set as indicated by the boolean. -
Method Summary
Modifier and TypeMethodDescriptionReturns the delegate component.Returns the bounds of the delegate component or null if the delegate is null.booleangetIcon()Returns the icon used in this panel, may be null.Painter<?> booleanvoidsetBackground(Color bg) voidsetComponent(JComponent comp) Sets the delegate component.voidvoidsetDropHackEnabled(boolean dropHackEnabled) Sets the dropHackEnabled property.voidsetExtendsComponentOpacity(boolean extendsComponentOpacity) Sets a boolean indicating whether or not the main component's opacity should be applied to the Icon region.voidvoidsetForeground(Color bg) voidSets the icon.voidsetPainter(Painter<?> painter) Sets the delegate's Painter if it is of type PainterAware.private voidUpdates the icon position according to ComponentOrientation.Methods inherited from class JXPanel
getAlpha, getBackgroundPainter, getEffectiveAlpha, getPainterChangeListener, getPreferredScrollableViewportSize, getScrollableBlockIncrement, getScrollableHeightHint, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getScrollableWidthHint, isAlpha, isInheritAlpha, isOpaque, isOpaquePatch, isPaintBorderInsets, isPaintingBackground, isPaintingOrigin, isPatch, isTransparentBackground, paint, paintComponent, paintComponentPatch, setAlpha, setBackgroundPainter, setInheritAlpha, setOpaque, setOpaquePatch, setPaintBorderInsets, setScrollableHeightHint, setScrollableTracksViewportHeight, setScrollableTracksViewportWidth, setScrollableWidthHintMethods inherited from class JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods inherited from class 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, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, 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, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateMethods inherited from class 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 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, 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, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
Constructor Details
-
WrappingIconPanel
public WrappingIconPanel()Instantiates and configures a WrappingIconPanel with the dropHack enabled. -
WrappingIconPanel
public WrappingIconPanel(boolean dropHackEnabled) Instantiates and configures a WrappingIconPanel with the dropHack property set as indicated by the boolean.- Parameters:
dropHackEnabled- a boolean indicating whether the drop hack should be enabled.- See Also:
-
-
Method Details
-
setComponentOrientation
Overridden to update the icon position.
- Overrides:
setComponentOrientationin classComponent
-
updateIconBorder
private void updateIconBorder()Updates the icon position according to ComponentOrientation. -
setIcon
-
getIcon
-
setComponent
Sets the delegate component.- Parameters:
comp- the component to add as delegate.
-
getComponent
-
setBackground
Overridden to set the background of the delegate and icon label as well.
- Overrides:
setBackgroundin classJComponent
-
setForeground
Overridden to set the foreground of the delegate and icon label as well.
- Overrides:
setForegroundin classJComponent
-
setFont
Overridden to set the Font of the delegate as well.
- Overrides:
setFontin classJComponent
-
isVisible
public boolean isVisible()Overridden to hack around #766-swingx: cursor flickering in DnD when dragging over tree column. This is a core bug (#6700748) related to painting the rendering component on a CellRendererPane. A trick around is to let this return false.
Some LayoutManagers don't layout an invisible component, so need to make the hack-enabled configurable. This implementation will return false if isDropHackEnabled, super.isVisible otherwise.
-
getPainter
Returns the delegate's Painter if it is of type PainterAware or null otherwise.
- Specified by:
getPainterin interfacePainterAware- Returns:
- the delegate's Painter or null.
-
setPainter
Sets the delegate's Painter if it is of type PainterAware. Does nothing otherwise.- Specified by:
setPainterin interfacePainterAware- Parameters:
painter- the Painter to apply to the delegate.
-
getDelegateBounds
Returns the bounds of the delegate component or null if the delegate is null. PENDING JW: where do we use it? Maybe it was for testing only?- Returns:
- the bounds of the delegate, or null if the delegate is null.
-
setDropHackEnabled
public void setDropHackEnabled(boolean dropHackEnabled) Sets the dropHackEnabled property.The default value is true.
- Parameters:
dropHackEnabled-- See Also:
-
setExtendsComponentOpacity
public void setExtendsComponentOpacity(boolean extendsComponentOpacity) Sets a boolean indicating whether or not the main component's opacity should be applied to the Icon region.The default value is false. This covers the main use case in a JTree.
- Parameters:
extendsComponentOpacity-
-
getExtendsComponentOpacity
public boolean getExtendsComponentOpacity()- Returns:
- the extendsComponentOpacity
-