# Class BasicRootPaneUI

java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.RootPaneUI
javax.swing.plaf.basic.BasicRootPaneUI

All Implemented Interfaces:
  `PropertyChangeListener`, `EventListener`

Direct Known Subclasses:
  `MetalRootPaneUI`, `SynthRootPaneUI`

public class BasicRootPaneUI extends RootPaneUI implements PropertyChangeListener
Basic implementation of RootPaneUI, there is one shared between all JRootPane instances.

Since:
  1.3

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`static ComponentUI`
`createUI(JComponent c)`
Returns a new instance of `BasicRootPaneUI`.
`protected void`
`installComponents(JRootPane root)`
Installs components.
`protected void`
`installDefaults(JRootPane c)`
Installs default properties.
`protected void`
`installKeyboardActions(JRootPane root)`
Registers keyboard actions.
`protected void`
`installListeners(JRootPane root)`
Registers listeners.
`void`
`propertyChange(PropertyChangeEvent e)`
Invoked when a property changes on the root pane.
`protected void`
`uninstallComponents(JRootPane root)`
Unregisters components.
`protected void`
`uninstallDefaults(JRootPane root)`
Uninstalls default properties.
`protected void`
`uninstallKeyboardActions(JRootPane root)`
Unregisters keyboard actions.
`protected void`
`uninstallListeners(JRootPane root)`
Unregisters listeners.

### Methods declared in class javax.swing.plaf.ComponentUI

`contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMaximumSize, getMinimumSize, getPreferredSize, installUI, paint, uninstallUI, update`

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

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

## Constructor Details

### BasicRootPaneUI

public BasicRootPaneUI()
Constructs a `BasicRootPaneUI`.

## Method Details

### createUI

public static ComponentUI createUI(JComponent c)
Returns a new instance of `BasicRootPaneUI`.

Parameters:
  `c` - a component
Returns:
  a new instance of `BasicRootPaneUI`

### installDefaults

protected void installDefaults(JRootPane c)
Installs default properties.

Parameters:
  `c` - an instance of `JRootPane`

### installComponents

protected void installComponents(JRootPane root)
Installs components.

Parameters:
  `root` - an instance of `JRootPane`

### installListeners

protected void installListeners(JRootPane root)
Registers listeners.

Parameters:
  `root` - an instance of `JRootPane`

### installKeyboardActions

protected void installKeyboardActions(JRootPane root)
Registers keyboard actions.

Parameters:
  `root` - an instance of `JRootPane`

### uninstallDefaults

protected void uninstallDefaults(JRootPane root)
Uninstalls default properties.

Parameters:
  `root` - an instance of `JRootPane`

### uninstallComponents

protected void uninstallComponents(JRootPane root)
Unregisters components.

Parameters:
  `root` - an instance of `JRootPane`

### uninstallListeners

protected void uninstallListeners(JRootPane root)
Unregisters listeners.

Parameters:
  `root` - an instance of `JRootPane`

### uninstallKeyboardActions

protected void uninstallKeyboardActions(JRootPane root)
Unregisters keyboard actions.

Parameters:
  `root` - an instance of `JRootPane`

### propertyChange

public void propertyChange(PropertyChangeEvent e)
Invoked when a property changes on the root pane. If the event indicates the `defaultButton` has changed, this will reinstall the keyboard actions.

Specified by:
  `propertyChange` in interface `PropertyChangeListener`
Parameters:
  `e` - A PropertyChangeEvent object describing the event source and the property that has changed.