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

### Method Summary

All Methods Instance Methods Concrete Methods
`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