# Class BasicTreeUI.ComponentHandler

java.lang.Object
java.awt.event.ComponentAdapter
javax.swing.plaf.basic.BasicTreeUI.ComponentHandler

All Implemented Interfaces:
  `ActionListener, ComponentListener, EventListener`

Enclosing class:
  `BasicTreeUI`

public class BasicTreeUI.ComponentHandler extends ComponentAdapter implements ActionListener
Updates the preferred size when scrolling (if necessary).

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected JScrollBar`
  `scrollBar`
  ScrollBar that is being adjusted.
  `protected Timer`
  `timer`
  Timer used when inside a scrollpane and the scrollbar is adjusting.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ComponentHandler()`
  Constructs a `ComponentHandler`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `actionPerformed(ActionEvent ae)`
  Public as a result of Timer.
  `protected JScrollPane`
  `getScrollPane()`
  Returns the `JScrollPane` housing the `JTree`, or null if one isn't found.
  `protected void`
  `startTimer()`
  Creates, if necessary, and starts a Timer to check if need to resize the bounds.

  ### Methods declared in class ComponentAdapter

  `componentHidden, componentMoved, componentResized, componentShown`

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### timer

    protected Timer timer
    Timer used when inside a scrollpane and the scrollbar is adjusting.

  - ### scrollBar

    protected JScrollBar scrollBar
    ScrollBar that is being adjusted.

- ## Constructor Details

  - ### ComponentHandler

    public ComponentHandler()
    Constructs a `ComponentHandler`.

- ## Method Details

  - ### startTimer

    protected void startTimer()
    Creates, if necessary, and starts a Timer to check if need to resize the bounds.

  - ### getScrollPane

    protected JScrollPane getScrollPane()
    Returns the `JScrollPane` housing the `JTree`, or null if one isn't found.
    Returns:
      the `JScrollPane` housing the `JTree`

  - ### actionPerformed

    public void actionPerformed(ActionEvent ae)
    Public as a result of Timer. If the scrollBar is null, or not adjusting, this stops the timer and updates the sizing.
    Specified by:
      `actionPerformed` in interface `ActionListener`
    Parameters:
      `ae` - the event to be processed