public class WrappingIconPanel extends JXPanel implements PainterAware, IconAware
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.
JPanel.AccessibleJPanel
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
protected JComponent |
delegate |
private boolean |
dropHackEnabled |
private boolean |
extendsComponentOpacity |
(package private) JLabel |
iconLabel |
(package private) int |
iconLabelGap |
(package private) String |
labelPosition |
private Border |
ltorBorder |
private Border |
rtolBorder |
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
WrappingIconPanel()
Instantiates 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.
|
Modifier and Type | Method and Description |
---|---|
JComponent |
getComponent()
Returns the delegate component.
|
Rectangle |
getDelegateBounds()
Returns the bounds of the delegate component or null if the delegate is null.
|
boolean |
getExtendsComponentOpacity() |
Icon |
getIcon()
Returns the icon used in this panel, may be null.
|
Painter<?> |
getPainter()
Returns the delegate's Painter if it is of type PainterAware or null
otherwise.
|
boolean |
isVisible()
Overridden to hack around #766-swingx: cursor flickering in DnD when
dragging over tree column.
|
void |
setBackground(Color bg)
Sets the background color for this component by
|
void |
setComponent(JComponent comp)
Sets the delegate component.
|
void |
setComponentOrientation(ComponentOrientation o)
Overridden to update the icon position.
|
void |
setDropHackEnabled(boolean dropHackEnabled)
Sets the dropHackEnabled property.
|
void |
setExtendsComponentOpacity(boolean extendsComponentOpacity)
Sets a boolean indicating whether or not the main component's opacity
should be applied to the Icon region.
|
void |
setFont(Font font)
Overridden to set the Font of the delegate as well.
|
void |
setForeground(Color bg)
Overridden to set the foreground of the delegate and icon label as well.
|
void |
setIcon(Icon icon)
Sets the icon.
|
void |
setPainter(Painter<?> painter)
Sets the delegate's Painter if it is of type PainterAware.
|
private void |
updateIconBorder()
Updates the icon position according to ComponentOrientation.
|
getAlpha, getBackgroundPainter, getEffectiveAlpha, getPainterChangeListener, getPreferredScrollableViewportSize, getScrollableBlockIncrement, getScrollableHeightHint, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getScrollableWidthHint, isInheritAlpha, isPaintBorderInsets, paint, paintComponent, setAlpha, setBackgroundPainter, setInheritAlpha, setPaintBorderInsets, setScrollableHeightHint, setScrollableTracksViewportHeight, setScrollableTracksViewportWidth, setScrollableWidthHint
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
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, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
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
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, getPeer, 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, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
protected JComponent delegate
String labelPosition
int iconLabelGap
private Border ltorBorder
private Border rtolBorder
private boolean dropHackEnabled
private boolean extendsComponentOpacity
public WrappingIconPanel()
public WrappingIconPanel(boolean dropHackEnabled)
dropHackEnabled
- a boolean indicating whether the drop hack should
be enabled.isVisible()
public void setComponentOrientation(ComponentOrientation o)
Overridden to update the icon position.
setComponentOrientation
in class Component
private void updateIconBorder()
public void setComponent(JComponent comp)
comp
- the component to add as delegate.public JComponent getComponent()
public void setBackground(Color bg)
Overridden to set the background of the delegate and icon label as well.
setBackground
in class JXPanel
bg
- the desired background Color
Component.getBackground()
,
JComponent.setOpaque(boolean)
public void setForeground(Color bg)
Overridden to set the foreground of the delegate and icon label as well.
setForeground
in class JComponent
public void setFont(Font font)
Overridden to set the Font of the delegate as well.
setFont
in class JComponent
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.
public Painter<?> getPainter()
Returns the delegate's Painter if it is of type PainterAware or null otherwise.
getPainter
in interface PainterAware
public void setPainter(Painter<?> painter)
setPainter
in interface PainterAware
painter
- the Painter to apply to the delegate.public Rectangle getDelegateBounds()
public void setDropHackEnabled(boolean dropHackEnabled)
The default value is true.
dropHackEnabled
- isVisible()
public void setExtendsComponentOpacity(boolean extendsComponentOpacity)
The default value is false. This covers the main use case in a JTree.
extendsComponentOpacity
- public boolean getExtendsComponentOpacity()
WebARTS Library Licensed Under the GNU - General Public License. Other Libraries licensed under their respective Open Source Licenses