java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JLabel
javax.swing.tree.DefaultTreeCellRenderer
- 所有已实现的接口:
-
ImageObserver
,MenuContainer
,Serializable
,Accessible
,SwingConstants
,TreeCellRenderer
在树中显示一个条目。
DefaultTreeCellRenderer
不是不透明的,除非你子类化了paint方法,否则不应更改此类。请参阅Java教程中的如何使用树,了解使用此类自定义节点显示的示例。
可以使用各种setter方法配置DefaultTreeCellRenderer
使用的图标和颜色。每个属性的值都是从默认表中初始化的。当外观和感觉发生变化时(调用updateUI
),任何具有UIResource
类型值的属性都会从默认表中刷新。以下表列出了DefaultTreeCellRenderer
属性与默认表键之间的映射:
属性 | 键 |
---|---|
"leafIcon" | "Tree.leafIcon" |
"closedIcon" | "Tree.closedIcon" |
"openIcon" | "Tree.openIcon" |
"textSelectionColor" | "Tree.selectionForeground" |
"textNonSelectionColor" | "Tree.textForeground" |
"backgroundSelectionColor" | "Tree.selectionBackground" |
"backgroundNonSelectionColor" | "Tree.textBackground" |
"borderSelectionColor" | "Tree.selectionBorderColor" |
实现说明: 此类仅重写invalidate
、validate
、revalidate
、repaint
和firePropertyChange
以提高性能。如果不重写这些经常调用的方法,将执行对于默认树单元格渲染器不必要的代码路径。如果编写自己的渲染器,请注意权衡重写这些方法的利弊。
警告: 此类的序列化对象将不兼容未来的Swing版本。当前的序列化支持适用于短期存储或在运行相同Swing版本的应用程序之间的RMI。从1.4开始,已将所有JavaBeans的长期存储支持添加到java.beans
包中。请参阅XMLEncoder
。
-
Nested Class Summary
Nested classes/interfaces declared in class javax.swing.JLabel
JLabel.AccessibleJLabel
Nested classes/interfaces declared in class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces declared in class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces declared in class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Modifier and TypeFieldDescriptionprotected Color
未选中节点时要使用的背景颜色。protected Color
选中节点时要使用的背景颜色。protected Color
当节点具有焦点时要使用的焦点指示器颜色。protected Icon
用于显示未展开的非叶节点的图标。protected boolean
是否具有焦点。protected Icon
用于显示叶节点的图标。protected Icon
用于显示已展开的非叶节点的图标。protected boolean
当前是否选中值。protected Color
未选中节点的前景色。protected Color
选中节点的前景色。Fields declared in class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields declared in class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Fields declared in interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
firePropertyChange
(String propertyName, boolean oldValue, boolean newValue) 为了性能原因而重写。void
firePropertyChange
(String propertyName, byte oldValue, byte newValue) 为了性能原因而重写。void
firePropertyChange
(String propertyName, char oldValue, char newValue) 为了性能原因而重写。void
firePropertyChange
(String propertyName, double oldValue, double newValue) 为了性能原因而重写。void
firePropertyChange
(String propertyName, float oldValue, float newValue) 为了性能原因而重写。void
firePropertyChange
(String propertyName, int oldValue, int newValue) 为了性能原因而重写。void
firePropertyChange
(String propertyName, long oldValue, long newValue) 为了性能原因而重写。void
firePropertyChange
(String propertyName, short oldValue, short newValue) 为了性能原因而重写。protected void
firePropertyChange
(String propertyName, Object oldValue, Object newValue) 为了性能原因而重写。返回用于未选中节点的背景颜色。返回如果节点被选中时要使用的背景颜色。返回绘制边框的颜色。返回用于表示未展开的非叶节点的图标。返回当前laf使用的默认图标,用于表示未展开的非叶节点。返回当前laf使用的默认图标,用于表示叶节点。返回当前laf使用的默认图标,用于表示已展开的非叶节点。getFont()
获取此组件的字体。返回用于表示叶节点的图标。返回用于表示已展开的非叶节点的图标。重写JComponent.getPreferredSize
以返回稍微更宽的首选大小值。返回节点未选中时绘制文本的颜色。返回节点选中时绘制文本的颜色。getTreeCellRendererComponent
(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) 根据传入的组件配置渲染器。void
为了性能原因而重写。void
绘制值。void
repaint()
为了性能原因而重写。void
repaint
(long tm, int x, int y, int width, int height) 为了性能原因而重写。void
为了性能原因而重写。void
为了性能原因而重写。void
setBackground
(Color color) 子类化以将ColorUIResource
映射为null。void
setBackgroundNonSelectionColor
(Color newColor) 设置用于未选中节点的背景颜色。void
setBackgroundSelectionColor
(Color newColor) 设置如果节点被选中时要使用的背景颜色。void
setBorderSelectionColor
(Color newColor) 设置用于边框的颜色。void
setClosedIcon
(Icon newIcon) 设置用于表示未展开的非叶节点的图标。void
子类化以将FontUIResource
映射为null。void
setLeafIcon
(Icon newIcon) 设置用于表示叶节点的图标。void
setOpenIcon
(Icon newIcon) 设置用于表示已展开的非叶节点的图标。void
setTextNonSelectionColor
(Color newColor) 设置节点未选中时绘制文本的颜色。void
setTextSelectionColor
(Color newColor) 设置节点选中时绘制文本的颜色。void
updateUI()
重置UI属性为当前外观的值。void
validate()
为了性能原因而重写。Methods declared in class javax.swing.JLabel
checkHorizontalKey, checkVerticalKey, getAccessibleContext, getDisabledIcon, getDisplayedMnemonic, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getLabelFor, getText, getUI, getUIClassID, getVerticalAlignment, getVerticalTextPosition, imageUpdate, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, setDisplayedMnemonicIndex, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabelFor, setText, setUI, setVerticalAlignment, setVerticalTextPosition
Methods declared in class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, 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, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
Methods declared in 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, 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, validateTree
Methods declared in 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, 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, 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, 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
-
Field Details
-
selected
protected boolean selected当前是否选中值。 -
hasFocus
protected boolean hasFocus是否具有焦点。 -
closedIcon
用于显示未展开的非叶节点的图标。 -
leafIcon
用于显示叶节点的图标。 -
openIcon
用于显示已展开的非叶节点的图标。 -
textSelectionColor
用于选中节点的前景色。 -
textNonSelectionColor
用于未选中节点的前景色。 -
backgroundSelectionColor
选中节点时要使用的背景颜色。 -
backgroundNonSelectionColor
未选中节点时要使用的背景颜色。 -
borderSelectionColor
当节点具有焦点时要使用的焦点指示器颜色。
-
-
Constructor Details
-
DefaultTreeCellRenderer
public DefaultTreeCellRenderer()创建一个DefaultTreeCellRenderer
。图标和文本颜色取决于UIManager
。
-
-
Method Details
-
updateUI
public void updateUI()重置UI属性为当前外观的值。 -
getDefaultOpenIcon
返回当前laf使用的默认图标,用于表示已展开的非叶节点。- 返回:
- 用于表示已展开的非叶节点的当前laf使用的默认图标。
-
getDefaultClosedIcon
返回当前laf使用的默认图标,用于表示未展开的非叶节点。- 返回:
- 用于表示未展开的非叶节点的当前laf使用的默认图标。
-
getDefaultLeafIcon
返回当前laf使用的默认图标,用于表示叶节点。- 返回:
- 用于表示叶节点的当前laf使用的默认图标。
-
setOpenIcon
设置用于表示已展开的非叶节点的图标。- 参数:
-
newIcon
- 用于已展开的非叶节点的图标
-
getOpenIcon
返回用于表示已展开的非叶节点的图标。- 返回:
- 用于表示已展开的非叶节点的图标
-
setClosedIcon
设置用于表示未展开的非叶节点的图标。- 参数:
-
newIcon
- 用于未展开的非叶节点的图标
-
getClosedIcon
返回用于表示未展开的非叶节点的图标。- 返回:
- 用于表示未展开的非叶节点的图标
-
setLeafIcon
设置用于表示叶节点的图标。- 参数:
-
newIcon
- 用于叶节点的图标
-
getLeafIcon
返回用于表示叶节点的图标。- 返回:
- 用于表示叶节点的图标
-
setTextSelectionColor
设置节点被选中时绘制文本的颜色。- 参数:
-
newColor
- 节点被选中时要用于文本的颜色
-
getTextSelectionColor
返回节点被选中时绘制文本的颜色。- 返回:
- 当节点被选中时,文本所绘制的颜色
-
setTextNonSelectionColor
设置节点未被选中时文本所绘制的颜色。- 参数:
-
newColor
- 节点未被选中时用于文本的颜色
-
getTextNonSelectionColor
返回节点未被选中时文本所绘制的颜色。- 返回:
- 节点未被选中时文本所绘制的颜色。
-
setBackgroundSelectionColor
设置节点被选中时用于背景的颜色。- 参数:
-
newColor
- 节点被选中时用于背景的颜色
-
getBackgroundSelectionColor
返回节点被选中时用于背景的颜色。- 返回:
- 节点被选中时用于背景的颜色
-
setBackgroundNonSelectionColor
设置非选定节点使用的背景颜色。- 参数:
-
newColor
- 用于非选定节点背景的颜色
-
getBackgroundNonSelectionColor
返回用于非选定节点背景的颜色。- 返回:
- 用于非选定节点背景的颜色。
-
setBorderSelectionColor
设置用于边框的颜色。- 参数:
-
newColor
- 用于边框的颜色
-
getBorderSelectionColor
返回边框所绘制的颜色。- 返回:
- 边框所绘制的颜色
-
setFont
子类化以将FontUIResource
映射为null。如果font
为null,或者为FontUIResource
,则会使JTree的字体显示出来。另一方面,如果font
不为null,并且不是FontUIResource
,则字体变为font
。- 覆盖:
-
setFont
在类JComponent
中 - 参数:
-
font
- 为此组件设置的所需Font
- 参见:
-
getFont
获取此组件的字体。- 指定者:
-
getFont
在接口MenuContainer
中 - 覆盖:
-
getFont
在类Component
中 - 返回:
- 此组件的字体;如果为此组件未设置字体,则返回其父级的字体
- 参见:
-
setBackground
子类化以将ColorUIResource
映射为null。如果color
为null,或者为ColorUIResource
,则会使JTree的背景颜色显示出来。另一方面,如果color
不为null,并且不是ColorUIResource
,则背景变为color
。- 覆盖:
-
setBackground
在类JComponent
中 - 参数:
-
color
- 所需的背景Color
- 参见:
-
getTreeCellRendererComponent
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) 根据传入的组件配置渲染器。值是通过向树发送convertValueToText
来设置的,最终在value
上调用toString
。前景颜色基于选择设置,图标基于leaf
和expanded
参数设置。- 指定者:
-
getTreeCellRendererComponent
在接口TreeCellRenderer
中 - 参数:
-
tree
- 正在为其配置的接收者 -
value
- 要渲染的值 -
sel
- 节点是否被选中 -
expanded
- 节点是否展开 -
leaf
- 节点是否为叶节点 -
row
- 行索引 -
hasFocus
- 节点是否具有焦点 - 返回:
-
渲染器用于绘制值的
Component
-
paint
绘制值。背景根据选择进行填充。- 覆盖:
-
paint
在类JComponent
中 - 参数:
-
g
- 进行绘制的Graphics
上下文 - 参见:
-
getPreferredSize
覆盖JComponent.getPreferredSize
以返回稍微更宽的首选大小值。- 覆盖:
-
getPreferredSize
在类JComponent
中 - 返回:
-
preferredSize
属性的值 - 参见:
-
validate
public void validate()由于性能原因而重写。有关更多信息,请参阅实现说明。 -
invalidate
public void invalidate()由于性能原因而重写。有关更多信息,请参阅实现说明。- 覆盖:
-
invalidate
在类Container
中 - 自JDK 1.5起:
- 1.5
- 参见:
-
revalidate
public void revalidate()由于性能原因而重写。有关更多信息,请参阅实现说明。- 覆盖:
-
revalidate
在类JComponent
中 - 参见:
-
repaint
public void repaint(long tm, int x, int y, int width, int height) 由于性能原因而重写。有关更多信息,请参阅实现说明。- 覆盖:
-
repaint
在类JComponent
中 - 参数:
-
tm
- 此参数未被使用 -
x
- 脏区域的x值 -
y
- 脏区域的y值 -
width
- 脏区域的宽度 -
height
- 脏区域的高度 - 参见:
-
repaint
为了性能原因而重写。更多信息请参阅实现说明。- 覆盖:
-
repaint
在类JComponent
中 - 参数:
-
r
- 包含脏区域的Rectangle
- 参见:
-
repaint
public void repaint()为了性能原因而重写。更多信息请参阅实现说明。 -
firePropertyChange
为了性能原因而重写。更多信息请参阅实现说明。- 覆盖:
-
firePropertyChange
在类Component
中 - 参数:
-
propertyName
- 值已更改的属性 -
oldValue
- 属性的先前值 -
newValue
- 属性的新值
-
firePropertyChange
为了性能原因而重写。更多信息请参阅实现说明。- 覆盖:
-
firePropertyChange
在类Component
中 - 参数:
-
propertyName
- 已更改的属性的程序名称 -
oldValue
- 属性的旧值(作为字节) -
newValue
- 属性的新值(作为字节) - 参见:
-
firePropertyChange
为了性能原因而重写。更多信息请参阅实现说明。- 覆盖:
-
firePropertyChange
在类Component
中 - 参数:
-
propertyName
- 已更改的属性的程序名称 -
oldValue
- 属性的旧值(作为字符) -
newValue
- 属性的新值(作为字符) - 参见:
-
firePropertyChange
为了性能原因而重写。更多信息请参阅实现说明。- 覆盖:
-
firePropertyChange
在类Component
中 - 参数:
-
propertyName
- 已更改的属性的程序名称 -
oldValue
- 属性的旧值(作为短整型) -
newValue
- 属性的新值(作为短整型) - 参见:
-
firePropertyChange
为了性能原因而重写。更多信息请参阅实现说明。- 覆盖:
-
firePropertyChange
在类JComponent
中 - 参数:
-
propertyName
- 值已更改的属性 -
oldValue
- 属性的先前值 -
newValue
- 属性的新值
-
firePropertyChange
为了性能原因而重写。更多信息请参阅实现说明。- 覆盖:
-
firePropertyChange
在类Component
中 - 参数:
-
propertyName
- 已更改的属性的程序名称 -
oldValue
- 属性的旧值(作为长整型) -
newValue
- 属性的新值(作为长整型) - 参见:
-
firePropertyChange
为了性能原因而重写。更多信息请参阅实现说明。- 覆盖:
-
firePropertyChange
在类Component
中 - 参数:
-
propertyName
- 已更改的属性的程序名称 -
oldValue
- 属性的旧值(作为浮点数) -
newValue
- 属性的新值(作为浮点数) - 参见:
-
firePropertyChange
为了性能原因而重写。更多信息请参阅实现说明。- 覆盖:
-
firePropertyChange
在类Component
中 - 参数:
-
propertyName
- 已更改的属性的程序名称 -
oldValue
- 属性的旧值(作为双精度浮点数) -
newValue
- 属性的新值(作为双精度浮点数) - 参见:
-
firePropertyChange
为了性能原因而重写。更多信息请参阅实现说明。- 覆盖:
-
firePropertyChange
在类JComponent
中 - 参数:
-
propertyName
- 值已更改的属性 -
oldValue
- 属性的先前值 -
newValue
- 属性的新值
-