Class SynthTreeUI

All Implemented Interfaces:
PropertyChangeListener, EventListener, SynthConstants, SynthUI

public class SynthTreeUI extends BasicTreeUI implements PropertyChangeListener, SynthUI
Provides the Synth L&F UI delegate for JTree.
Since:
1.7
  • Constructor Details

    • SynthTreeUI

      public SynthTreeUI()
      Constructs a SynthTreeUI.
  • Method Details

    • createUI

      public static ComponentUI createUI(JComponent x)
      Creates a new UI object for the given component.
      Parameters:
      x - component to create UI object for
      Returns:
      the UI object
    • getExpandedIcon

      public Icon getExpandedIcon()
      Returns the expanded icon.
      Overrides:
      getExpandedIcon in class BasicTreeUI
      Returns:
      the expanded icon
    • getCollapsedIcon

      public Icon getCollapsedIcon()
      Description copied from class: BasicTreeUI
      Returns the collapsed icon.
      Overrides:
      getCollapsedIcon in class BasicTreeUI
      Returns:
      the collapsed icon
    • installDefaults

      protected void installDefaults()
      Installs default properties.
      Overrides:
      installDefaults in class BasicTreeUI
    • installListeners

      protected void installListeners()
      Registers listeners.
      Overrides:
      installListeners in class BasicTreeUI
    • getContext

      public SynthContext getContext(JComponent c)
      Returns the Context for the specified component.
      Specified by:
      getContext in interface SynthUI
      Parameters:
      c - Component requesting SynthContext.
      Returns:
      SynthContext describing component.
    • createDefaultCellEditor

      protected TreeCellEditor createDefaultCellEditor()
      Creates a default cell editor.
      Overrides:
      createDefaultCellEditor in class BasicTreeUI
      Returns:
      a default cell editor
    • createDefaultCellRenderer

      protected TreeCellRenderer createDefaultCellRenderer()
      Returns the default cell renderer that is used to do the stamping of each node.
      Overrides:
      createDefaultCellRenderer in class BasicTreeUI
      Returns:
      an instance of TreeCellRenderer
    • uninstallDefaults

      protected void uninstallDefaults()
      Uninstalls default properties.
      Overrides:
      uninstallDefaults in class BasicTreeUI
    • uninstallListeners

      protected void uninstallListeners()
      Unregisters listeners.
      Overrides:
      uninstallListeners in class BasicTreeUI
    • update

      public void update(Graphics g, JComponent c)
      Notifies this UI delegate to repaint the specified component. This method paints the component background, then calls the paint(SynthContext,Graphics) method.

      In general, this method does not need to be overridden by subclasses. All Look and Feel rendering code should reside in the paint method.

      Overrides:
      update in class ComponentUI
      Parameters:
      g - the Graphics object used for painting
      c - the component being painted
      See Also:
    • paintBorder

      public void paintBorder(SynthContext context, Graphics g, int x, int y, int w, int h)
      Paints the border.
      Specified by:
      paintBorder in interface SynthUI
      Parameters:
      context - a component context
      g - Graphics to paint on
      x - the X coordinate
      y - the Y coordinate
      w - width of the border
      h - height of the border
    • paint

      public void paint(Graphics g, JComponent c)
      Paints the specified component according to the Look and Feel.

      This method is not used by Synth Look and Feel. Painting is handled by the paint(SynthContext,Graphics) method.

      Overrides:
      paint in class BasicTreeUI
      Parameters:
      g - the Graphics object used for painting
      c - the component being painted
      See Also:
    • paint

      protected void paint(SynthContext context, Graphics g)
      Paints the specified component.
      Parameters:
      context - context for the component being painted
      g - the Graphics object used for painting
      See Also:
    • paintHorizontalPartOfLeg

      protected void paintHorizontalPartOfLeg(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf)
      Paints the horizontal part of the leg. The receiver should NOT modify clipBounds, or insets.

      NOTE: parentRow can be -1 if the root is not visible.

      Overrides:
      paintHorizontalPartOfLeg in class BasicTreeUI
      Parameters:
      g - a graphics context
      clipBounds - a clipped rectangle
      insets - insets
      bounds - a bounding rectangle
      path - a tree path
      row - a row
      isExpanded - true if the path is expanded
      hasBeenExpanded - true if the path has been expanded
      isLeaf - true if the path is leaf
    • paintHorizontalLine

      protected void paintHorizontalLine(Graphics g, JComponent c, int y, int left, int right)
      Paints a horizontal line.
      Overrides:
      paintHorizontalLine in class BasicTreeUI
      Parameters:
      g - a graphics context
      c - a component
      y - an Y coordinate
      left - an X1 coordinate
      right - an X2 coordinate
    • paintVerticalPartOfLeg

      protected void paintVerticalPartOfLeg(Graphics g, Rectangle clipBounds, Insets insets, TreePath path)
      Paints the vertical part of the leg. The receiver should NOT modify clipBounds, insets.
      Overrides:
      paintVerticalPartOfLeg in class BasicTreeUI
      Parameters:
      g - a graphics context
      clipBounds - a clipped rectangle
      insets - insets
      path - a tree path
    • paintVerticalLine

      protected void paintVerticalLine(Graphics g, JComponent c, int x, int top, int bottom)
      Paints a vertical line.
      Overrides:
      paintVerticalLine in class BasicTreeUI
      Parameters:
      g - a graphics context
      c - a component
      x - an X coordinate
      top - an Y1 coordinate
      bottom - an Y2 coordinate
    • paintExpandControl

      protected void paintExpandControl(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf)
      Paints the expand (toggle) part of a row. The receiver should NOT modify clipBounds, or insets.
      Overrides:
      paintExpandControl in class BasicTreeUI
      Parameters:
      g - a graphics context
      clipBounds - a clipped rectangle
      insets - insets
      bounds - a bounding rectangle
      path - a tree path
      row - a row
      isExpanded - true if the path is expanded
      hasBeenExpanded - true if the path has been expanded
      isLeaf - true if the row is leaf
    • drawCentered

      protected void drawCentered(Component c, Graphics graphics, Icon icon, int x, int y)
      Draws the icon centered at (x,y).
      Overrides:
      drawCentered in class BasicTreeUI
      Parameters:
      c - a component
      graphics - a graphics context
      icon - an icon
      x - an X coordinate
      y - an Y coordinate
    • propertyChange

      public void propertyChange(PropertyChangeEvent event)
      This method gets called when a bound property is changed.
      Specified by:
      propertyChange in interface PropertyChangeListener
      Parameters:
      event - A PropertyChangeEvent object describing the event source and the property that has changed.
    • paintDropLine

      protected void paintDropLine(Graphics g)
      Paints the drop line.
      Overrides:
      paintDropLine in class BasicTreeUI
      Parameters:
      g - Graphics object to draw on
    • getRowX

      protected int getRowX(int row, int depth)
      Returns the location, along the x-axis, to render a particular row at. The return value does not include any Insets specified on the JTree. This does not check for the validity of the row or depth, it is assumed to be correct and will not throw an Exception if the row or depth doesn't match that of the tree.
      Overrides:
      getRowX in class BasicTreeUI
      Parameters:
      row - Row to return x location for
      depth - Depth of the row
      Returns:
      amount to indent the given row.