Class MetalTreeUI
- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- javax.swing.plaf.TreeUI
-
- javax.swing.plaf.basic.BasicTreeUI
-
- javax.swing.plaf.metal.MetalTreeUI
public class MetalTreeUI extends BasicTreeUI
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
| Constructor | Description |
|---|---|
MetalTreeUI() | Constructs the |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
static ComponentUI | createUI(JComponent x) | Constructs the |
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) | Returns |
protected void | paintHorizontalSeparators(Graphics g,
JComponent c) | 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 Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Constructor Detail
MetalTreeUI
public MetalTreeUI()
Constructs the MetalTreeUI.
Method Detail
createUI
public static ComponentUI createUI(JComponent x)
Constructs the MetalTreeUI.
- Parameters:
-
x- a component - Returns:
- the instance of the
MetalTreeUI
decodeLineStyle
protected void decodeLineStyle(Object lineStyleFlag)
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) Returns true if a point with X coordinate mouseX and Y coordinate mouseY is in expanded control.
- Parameters:
-
row- a row -
rowLevel- a row level -
mouseX- X coordinate -
mouseY- Y coordinate - Returns:
-
trueif a point with X coordinatemouseXand Y coordinatemouseYis in expanded control.
paintHorizontalSeparators
protected void paintHorizontalSeparators(Graphics g,
JComponent c) Paints the horizontal separators.
- Parameters:
-
g- an instance ofGraphics -
c- a component