java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.TreeUI
javax.swing.plaf.basic.BasicTreeUI
javax.swing.plaf.metal.MetalTreeUI
The metal look and feel implementation of
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
.
-
Nested Class Summary
Nested classes/interfaces declared in class javax.swing.plaf.basic.BasicTreeUI
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
-
Field Summary
Fields declared in class javax.swing.plaf.basic.BasicTreeUI
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 Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic ComponentUI
Constructs theMetalTreeUI
.protected void
decodeLineStyle
(Object lineStyleFlag) Converts between the string passed into the client property and the internal representation (currently and int)protected boolean
isLocationInExpandControl
(int row, int rowLevel, int mouseX, int mouseY) Returnstrue
if a point with X coordinatemouseX
and Y coordinatemouseY
is in expanded control.protected void
Paints the horizontal separators.Methods declared in class javax.swing.plaf.basic.BasicTreeUI
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
Methods declared in class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, installUI, paint, uninstallUI, update
-
Constructor Details
-
MetalTreeUI
public MetalTreeUI()Constructs theMetalTreeUI
.
-
-
Method Details
-
createUI
Constructs theMetalTreeUI
.- Parameters:
x
- a component- Returns:
- the instance of the
MetalTreeUI
-
decodeLineStyle
Converts between the string passed into the client property and the internal representation (currently and int)- Parameters:
lineStyleFlag
- a flag
-
isLocationInExpandControl
protected boolean isLocationInExpandControl(int row, int rowLevel, int mouseX, int mouseY) Returnstrue
if a point with X coordinatemouseX
and Y coordinatemouseY
is in expanded control.- Parameters:
row
- a rowrowLevel
- a row levelmouseX
- X coordinatemouseY
- Y coordinate- Returns:
true
if a point with X coordinatemouseX
and Y coordinatemouseY
is in expanded control.
-
paintHorizontalSeparators
Paints the horizontal separators.- Parameters:
g
- an instance ofGraphics
c
- a component
-