Module java.desktop
Package javax.swing.plaf.basic

## 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()` |

  - ### 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 java.awt.event.ComponentAdapter

      `componentHidden, componentMoved, componentResized, componentShown`

    - ### Methods declared in class java.lang.Object

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

- - ### Field Detail

    - #### 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 Detail

    - #### ComponentHandler

          public ComponentHandler()

  - ### Method Detail

    - #### 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