public class MetalTreeUI extends BasicTreeUI
TreeUI
. MetalTreeUI
allows for configuring how to visually render the spacing and delineation between nodes. The following hints are supported:
Hint | Description |
---|---|
Angled | A line is drawn connecting the child to the parent. For handling of the root node refer to JTree.setRootVisible(boolean) and JTree.setShowsRootHandles(boolean) . |
Horizontal | A horizontal line is drawn dividing the children of the root node. |
None | Do not draw any visual indication between nodes. |
As it is typically impractical to obtain the TreeUI
from the JTree
and cast to an instance of MetalTreeUI
you enable this property via the client property JTree.lineStyle
. For example, to switch to Horizontal
style you would do: tree.putClientProperty("JTree.lineStyle", "Horizontal");
The default is Angled
.
BasicTreeUI.CellEditorHandler, BasicTreeUI.ComponentHandler, BasicTreeUI.FocusHandler, BasicTreeUI.KeyHandler, BasicTreeUI.MouseHandler, BasicTreeUI.MouseInputHandler, BasicTreeUI.NodeDimensionsHandler, BasicTreeUI.PropertyChangeHandler, BasicTreeUI.SelectionModelPropertyChangeHandler, BasicTreeUI.TreeCancelEditingAction, BasicTreeUI.TreeExpansionHandler, BasicTreeUI.TreeHomeAction, BasicTreeUI.TreeIncrementAction, BasicTreeUI.TreeModelHandler, BasicTreeUI.TreePageAction, BasicTreeUI.TreeSelectionHandler, BasicTreeUI.TreeToggleAction, BasicTreeUI.TreeTraverseAction
cellEditor, collapsedIcon, createdCellEditor, createdRenderer, currentCellRenderer, depthOffset, drawingCache, editingComponent, editingPath, editingRow, editorHasDifferentSize, expandedIcon, largeModel, lastSelectedRow, leftChildIndent, nodeDimensions, preferredMinSize, preferredSize, rendererPane, rightChildIndent, stopEditingInCompleteEditing, totalChildIndent, tree, treeModel, treeSelectionModel, treeState, validCachedPreferredSize
Constructor | Description |
---|---|
MetalTreeUI() |
Constructs the MetalTreeUI . |
Modifier and Type | Method | Description |
---|---|---|
static ComponentUI |
createUI |
Constructs the MetalTreeUI . |
protected void |
decodeLineStyle |
Converts between the string passed into the client property and the internal representation (currently and int) |
protected boolean |
isLocationInExpandControl |
Returns true if a point with X coordinate mouseX and Y coordinate mouseY is in expanded control. |
protected void |
paintHorizontalSeparators |
Paints the horizontal separators. |
cancelEditing, checkForClickInExpandControl, completeEditing, completeEditing, completeUIInstall, completeUIUninstall, configureLayoutCache, createCellEditorListener, createCellRendererPane, createComponentListener, createDefaultCellEditor, createDefaultCellRenderer, createFocusListener, createKeyListener, createLayoutCache, createMouseListener, createNodeDimensions, createPropertyChangeListener, createSelectionModelPropertyChangeListener, createTreeExpansionListener, createTreeModelListener, createTreeSelectionListener, drawCentered, drawDashedHorizontalLine, drawDashedVerticalLine, ensureRowsAreVisible, getBaseline, getBaselineResizeBehavior, getCellEditor, getCellRenderer, getClosestPathForLocation, getCollapsedIcon, getDropLineRect, getEditingPath, getExpandedIcon, getHashColor, getHorizontalLegBuffer, getLastChildPath, getLeadSelectionRow, getLeftChildIndent, getMaximumSize, getMinimumSize, getModel, getPathBounds, getPathForRow, getPreferredMinSize, getPreferredSize, getPreferredSize, getRightChildIndent, getRowCount, getRowForPath, getRowHeight, getRowX, getSelectionModel, getShowsRootHandles, getVerticalLegBuffer, handleExpandControlClick, installComponents, installDefaults, installKeyboardActions, installListeners, isDropLine, isEditable, isEditing, isLargeModel, isLeaf, isLocationInExpandControl, isMultiSelectEvent, isRootVisible, isToggleEvent, isToggleSelectionEvent, paintDropLine, paintExpandControl, paintHorizontalLine, paintHorizontalPartOfLeg, paintRow, paintVerticalLine, paintVerticalPartOfLeg, pathWasCollapsed, pathWasExpanded, prepareForUIInstall, prepareForUIUninstall, selectPathForEvent, setCellEditor, setCellRenderer, setCollapsedIcon, setEditable, setExpandedIcon, setHashColor, setLargeModel, setLeftChildIndent, setModel, setPreferredMinSize, setRightChildIndent, setRootVisible, setRowHeight, setSelectionModel, setShowsRootHandles, shouldPaintExpandControl, startEditing, startEditingAtPath, stopEditing, toggleExpandState, uninstallComponents, uninstallDefaults, uninstallKeyboardActions, uninstallListeners, updateCachedPreferredSize, updateCellEditor, updateDepthOffset, updateExpandedDescendants, updateLayoutCacheExpandedNodes, updateLeadSelectionRow, updateRenderer, updateSize
contains, getAccessibleChild, getAccessibleChildrenCount, installUI, paint, uninstallUI, update
public MetalTreeUI()
MetalTreeUI
.public static ComponentUI createUI(JComponent x)
MetalTreeUI
.x
- a componentMetalTreeUI
protected void decodeLineStyle(Object lineStyleFlag)
lineStyleFlag
- a flagprotected boolean isLocationInExpandControl(int row, int rowLevel, int mouseX, int mouseY)
true
if a point with X coordinate mouseX
and Y coordinate mouseY
is in expanded control.row
- a rowrowLevel
- a row levelmouseX
- X coordinatemouseY
- Y coordinatetrue
if a point with X coordinate mouseX
and Y coordinate mouseY
is in expanded control.protected void paintHorizontalSeparators(Graphics g, JComponent c)
g
- an instance of Graphics
c
- a component
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/plaf/metal/MetalTreeUI.html