Module java.desktop

Class 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:

Descriptions of supported hints: Angled, Horizontal, and None
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.

  • Constructor Details Link icon

    • MetalTreeUI Link icon

      public MetalTreeUI()
      Constructs the MetalTreeUI.
  • Method Details Link icon

    • createUI Link icon

      public static ComponentUI createUI(JComponent x)
      Constructs the MetalTreeUI.
      Parameters:
      x - a component
      Returns:
      the instance of the MetalTreeUI
    • decodeLineStyle Link icon

      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 Link icon

      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:
      true if a point with X coordinate mouseX and Y coordinate mouseY is in expanded control.
    • paintHorizontalSeparators Link icon

      protected void paintHorizontalSeparators(Graphics g, JComponent c)
      Paints the horizontal separators.
      Parameters:
      g - an instance of Graphics
      c - a component