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

## Class BasicInternalFrameUI

- java.lang.Object
- - javax.swing.plaf.ComponentUI
  - - javax.swing.plaf.InternalFrameUI
    - - javax.swing.plaf.basic.BasicInternalFrameUI

Direct Known Subclasses:
  `MetalInternalFrameUI`, `SynthInternalFrameUI`

    public class BasicInternalFrameUI
    extends InternalFrameUI

A basic L&F implementation of JInternalFrame.

### Nested Class Summary

Nested Classes
`protected class` `BasicInternalFrameUI.BasicInternalFrameListener` Basic internal frame listener.
`protected class` `BasicInternalFrameUI.BorderListener` Listens for border adjustments.
`protected class` `BasicInternalFrameUI.ComponentHandler` Component handler.
`protected class` `BasicInternalFrameUI.GlassPaneDispatcher` Glass pane dispatcher.
`class` `BasicInternalFrameUI.InternalFrameLayout` Internal frame layout.
`class` `BasicInternalFrameUI.InternalFramePropertyChangeListener` Internal frame property change listener.

### Field Summary

Fields
`protected MouseInputAdapter` `borderListener` Border listener
`protected ComponentListener` `componentListener` Component listener
`protected JComponent` `eastPane` East pane
`protected JInternalFrame` `frame` frame
`protected MouseInputListener` `glassPaneDispatcher` Glass pane dispatcher
`protected LayoutManager` `internalFrameLayout` Internal frame layout
`protected JComponent` `northPane` North pane
`protected KeyStroke` `openMenuKey` Deprecated. As of Java 2 platform v1.3.
`protected PropertyChangeListener` `propertyChangeListener` Property change listener
`protected JComponent` `southPane` South pane
`protected BasicInternalFrameTitlePane` `titlePane` Title pane
`protected JComponent` `westPane` West pane

### Constructor Summary

Constructors
`BasicInternalFrameUI​(JInternalFrame b)` Constructs a `BasicInternalFrameUI`.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`protected void` `activateFrame​(JInternalFrame f)` This method is called when the frame becomes selected.
`protected void` `closeFrame​(JInternalFrame f)` This method is called when the user wants to close the frame.
`protected MouseInputAdapter` `createBorderListener​(JInternalFrame w)` Creates the border listener.
`protected ComponentListener` `createComponentListener()` Creates a component listener.
`protected DesktopManager` `createDesktopManager()` Creates the desktop manager.
`protected JComponent` `createEastPane​(JInternalFrame w)` Creates the east pane.
`protected MouseInputListener` `createGlassPaneDispatcher()` Creates a `GlassPaneDispatcher`.
`protected void` `createInternalFrameListener()` Creates the internal frame listener.
`protected LayoutManager` `createLayoutManager()` Creates the layout manager.
`protected JComponent` `createNorthPane​(JInternalFrame w)` Creates the north pane.
`protected PropertyChangeListener` `createPropertyChangeListener()` Creates the property change listener.
`protected JComponent` `createSouthPane​(JInternalFrame w)` Creates the north pane.
`static ComponentUI` `createUI​(JComponent b)` Returns a component UI.
`protected JComponent` `createWestPane​(JInternalFrame w)` Creates the west pane.
`protected void` `deactivateFrame​(JInternalFrame f)` This method is called when the frame is no longer selected.
`protected void` `deiconifyFrame​(JInternalFrame f)` This method is called when the user wants to deiconify the frame.
`protected void` `deinstallMouseHandlers​(JComponent c)` Deinstalls the mouse handlers.
`protected DesktopManager` `getDesktopManager()` Returns the proper DesktopManager.
`JComponent` `getEastPane()` Returns the east pane.
`Dimension` `getMaximumSize​(JComponent x)` Returns the maximum size.
`Dimension` `getMinimumSize​(JComponent x)` Returns the minimum size.
`JComponent` `getNorthPane()` Returns the north pane.
`Dimension` `getPreferredSize​(JComponent x)` Returns the preferred size.
`JComponent` `getSouthPane()` Returns the south pane.
`JComponent` `getWestPane()` Returns the west pane.
`protected void` `iconifyFrame​(JInternalFrame f)` This method is called when the user wants to iconify the frame.
`protected void` `installComponents()` Installs the components.
`protected void` `installDefaults()` Installs the defaults.
`protected void` `installKeyboardActions()` Installs the keyboard actions.
`protected void` `installListeners()` Installs the listeners.
`protected void` `installMouseHandlers​(JComponent c)` Installs the mouse handlers.
`void` `installUI​(JComponent c)` Installs the UI.
`boolean` `isKeyBindingActive()` Returns whether or no the key binding is active.
`protected boolean` `isKeyBindingRegistered()` Returns whether or no the key binding is registered.
`protected void` `maximizeFrame​(JInternalFrame f)` This method is called when the user wants to maximize the frame.
`protected void` `minimizeFrame​(JInternalFrame f)` This method is called when the user wants to minimize the frame.
`protected void` `replacePane​(JComponent currentPane, JComponent newPane)` Installs necessary mouse handlers on `newPane` and adds it to the frame.
`void` `setEastPane​(JComponent c)` Sets the east pane.
`protected void` `setKeyBindingActive​(boolean b)` Sets the key binding activity.
`protected void` `setKeyBindingRegistered​(boolean b)` Sets the key binding registration.
`void` `setNorthPane​(JComponent c)` Sets the north pane.
`void` `setSouthPane​(JComponent c)` Sets the south pane.
`protected void` `setupMenuCloseKey()` Setup the menu close key.
`protected void` `setupMenuOpenKey()` Setup the menu open key.
`void` `setWestPane​(JComponent c)` Sets the west pane.
`protected void` `uninstallComponents()` Uninstalls the components.
`protected void` `uninstallDefaults()` Uninstalls the defaults.
`protected void` `uninstallKeyboardActions()` Uninstalls the keyboard actions.
`protected void` `uninstallListeners()` Uninstalls the listeners.
`void` `uninstallUI​(JComponent c)` Uninstalls the UI.

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

`contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, paint, update`

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

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

### Field Detail

#### frame

    protected JInternalFrame frame

frame

#### borderListener

    protected MouseInputAdapter borderListener

Border listener

#### propertyChangeListener

    protected PropertyChangeListener propertyChangeListener

Property change listener

#### internalFrameLayout

    protected LayoutManager internalFrameLayout

Internal frame layout

#### componentListener

    protected ComponentListener componentListener

Component listener

#### glassPaneDispatcher

    protected MouseInputListener glassPaneDispatcher

Glass pane dispatcher

#### northPane

    protected JComponent northPane

North pane

#### southPane

    protected JComponent southPane

South pane

#### westPane

    protected JComponent westPane

West pane

#### eastPane

    protected JComponent eastPane

East pane

#### titlePane

    protected BasicInternalFrameTitlePane titlePane

Title pane

#### openMenuKey

    @Deprecated
    protected KeyStroke openMenuKey

Deprecated.
As of Java 2 platform v1.3.
As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.

### Constructor Detail

#### BasicInternalFrameUI

    public BasicInternalFrameUI​(JInternalFrame b)

Constructs a `BasicInternalFrameUI`.

Parameters:
  `b` - the internal frame

### Method Detail

#### createUI

    public static ComponentUI createUI​(JComponent b)

Returns a component UI.

Parameters:
  `b` - a component
Returns:
  a component UI

#### installUI

    public void installUI​(JComponent c)

Installs the UI.

Overrides:
  `installUI` in class `ComponentUI`
Parameters:
  `c` - the component
See Also:
  `ComponentUI.uninstallUI(javax.swing.JComponent)`, `JComponent.setUI(javax.swing.plaf.ComponentUI)`, `JComponent.updateUI()`

#### uninstallUI

    public void uninstallUI​(JComponent c)

Uninstalls the UI.

Overrides:
  `uninstallUI` in class `ComponentUI`
Parameters:
  `c` - the component
See Also:
  `ComponentUI.installUI(javax.swing.JComponent)`, `JComponent.updateUI()`

#### installDefaults

    protected void installDefaults()

Installs the defaults.

#### installKeyboardActions

    protected void installKeyboardActions()

Installs the keyboard actions.

#### installComponents

    protected void installComponents()

Installs the components.

#### installListeners

    protected void installListeners()

Installs the listeners.

Since:
  1.3

#### uninstallDefaults

    protected void uninstallDefaults()

Uninstalls the defaults.

#### uninstallComponents

    protected void uninstallComponents()

Uninstalls the components.

#### uninstallListeners

    protected void uninstallListeners()

Uninstalls the listeners.

Since:
  1.3

#### uninstallKeyboardActions

    protected void uninstallKeyboardActions()

Uninstalls the keyboard actions.

#### createLayoutManager

    protected LayoutManager createLayoutManager()

Creates the layout manager.

Returns:
  the layout manager

#### createPropertyChangeListener

    protected PropertyChangeListener createPropertyChangeListener()

Creates the property change listener.

Returns:
  the property change listener

#### getPreferredSize

    public Dimension getPreferredSize​(JComponent x)

Returns the preferred size.

Overrides:
  `getPreferredSize` in class `ComponentUI`
Parameters:
  `x` - the component
Returns:
  the preferred size
See Also:
  `JComponent.getPreferredSize()`, `LayoutManager.preferredLayoutSize(java.awt.Container)`

#### getMinimumSize

    public Dimension getMinimumSize​(JComponent x)

Returns the minimum size.

Overrides:
  `getMinimumSize` in class `ComponentUI`
Parameters:
  `x` - the component
Returns:
  the minimum size
See Also:
  `JComponent.getMinimumSize()`, `LayoutManager.minimumLayoutSize(java.awt.Container)`, `ComponentUI.getPreferredSize(javax.swing.JComponent)`

#### getMaximumSize

    public Dimension getMaximumSize​(JComponent x)

Returns the maximum size.

Overrides:
  `getMaximumSize` in class `ComponentUI`
Parameters:
  `x` - the component
Returns:
  the maximum size
See Also:
  `JComponent.getMaximumSize()`, `LayoutManager2.maximumLayoutSize(java.awt.Container)`

#### replacePane

    protected void replacePane​(JComponent currentPane,
                               JComponent newPane)

Installs necessary mouse handlers on `newPane` and adds it to the frame. Reverse process for the `currentPane`.

Parameters:
  `currentPane` - this `Jcomponent` is the current pane being viewed that has mouse handlers installed
  `newPane` - this `Jcomponent` is the pane which will be added and have mouse handlers installed

#### deinstallMouseHandlers

    protected void deinstallMouseHandlers​(JComponent c)

Deinstalls the mouse handlers.

Parameters:
  `c` - the component

#### installMouseHandlers

    protected void installMouseHandlers​(JComponent c)

Installs the mouse handlers.

Parameters:
  `c` - the component

#### createNorthPane

    protected JComponent createNorthPane​(JInternalFrame w)

Creates the north pane.

Parameters:
  `w` - the internal frame
Returns:
  the north pane

#### createSouthPane

    protected JComponent createSouthPane​(JInternalFrame w)

Creates the north pane.

Parameters:
  `w` - the internal frame
Returns:
  the north pane

#### createWestPane

    protected JComponent createWestPane​(JInternalFrame w)

Creates the west pane.

Parameters:
  `w` - the internal frame
Returns:
  the west pane

#### createEastPane

    protected JComponent createEastPane​(JInternalFrame w)

Creates the east pane.

Parameters:
  `w` - the internal frame
Returns:
  the east pane

#### createBorderListener

    protected MouseInputAdapter createBorderListener​(JInternalFrame w)

Creates the border listener.

Parameters:
  `w` - the internal frame
Returns:
  the border listener

#### createInternalFrameListener

    protected void createInternalFrameListener()

Creates the internal frame listener.

#### isKeyBindingRegistered

    protected final boolean isKeyBindingRegistered()

Returns whether or no the key binding is registered.

Returns:
  whether or no the key binding is registered

#### setKeyBindingRegistered

    protected final void setKeyBindingRegistered​(boolean b)

Sets the key binding registration.

Parameters:
  `b` - new value for key binding registration

#### isKeyBindingActive

    public final boolean isKeyBindingActive()

Returns whether or no the key binding is active.

Returns:
  whether or no the key binding is active

#### setKeyBindingActive

    protected final void setKeyBindingActive​(boolean b)

Sets the key binding activity.

Parameters:
  `b` - new value for key binding activity

#### setupMenuOpenKey

    protected void setupMenuOpenKey()

Setup the menu open key.

#### setupMenuCloseKey

    protected void setupMenuCloseKey()

Setup the menu close key.

#### getNorthPane

    public JComponent getNorthPane()

Returns the north pane.

Returns:
  the north pane

#### setNorthPane

    public void setNorthPane​(JComponent c)

Sets the north pane.

Parameters:
  `c` - the new north pane

#### getSouthPane

    public JComponent getSouthPane()

Returns the south pane.

Returns:
  the south pane

#### setSouthPane

    public void setSouthPane​(JComponent c)

Sets the south pane.

Parameters:
  `c` - the new south pane

#### getWestPane

    public JComponent getWestPane()

Returns the west pane.

Returns:
  the west pane

#### setWestPane

    public void setWestPane​(JComponent c)

Sets the west pane.

Parameters:
  `c` - the new west pane

#### getEastPane

    public JComponent getEastPane()

Returns the east pane.

Returns:
  the east pane

#### setEastPane

    public void setEastPane​(JComponent c)

Sets the east pane.

Parameters:
  `c` - the new east pane

#### getDesktopManager

    protected DesktopManager getDesktopManager()

Returns the proper DesktopManager. Calls getDesktopPane() to find the JDesktop component and returns the desktopManager from it. If this fails, it will return a default DesktopManager that should work in arbitrary parents.

Returns:
  the proper DesktopManager

#### createDesktopManager

    protected DesktopManager createDesktopManager()

Creates the desktop manager.

Returns:
  the desktop manager

#### closeFrame

    protected void closeFrame​(JInternalFrame f)

This method is called when the user wants to close the frame. The `playCloseSound` Action is fired. This action is delegated to the desktopManager.

Parameters:
  `f` - the `JInternalFrame` being viewed

#### maximizeFrame

    protected void maximizeFrame​(JInternalFrame f)

This method is called when the user wants to maximize the frame. The `playMaximizeSound` Action is fired. This action is delegated to the desktopManager.

Parameters:
  `f` - the `JInternalFrame` being viewed

#### minimizeFrame

    protected void minimizeFrame​(JInternalFrame f)

This method is called when the user wants to minimize the frame. The `playRestoreDownSound` Action is fired. This action is delegated to the desktopManager.

Parameters:
  `f` - the `JInternalFrame` being viewed

#### iconifyFrame

    protected void iconifyFrame​(JInternalFrame f)

This method is called when the user wants to iconify the frame. The `playMinimizeSound` Action is fired. This action is delegated to the desktopManager.

Parameters:
  `f` - the `JInternalFrame` being viewed

#### deiconifyFrame

    protected void deiconifyFrame​(JInternalFrame f)

This method is called when the user wants to deiconify the frame. The `playRestoreUpSound` Action is fired. This action is delegated to the desktopManager.

Parameters:
  `f` - the `JInternalFrame` being viewed

#### activateFrame

    protected void activateFrame​(JInternalFrame f)

This method is called when the frame becomes selected. This action is delegated to the desktopManager.

Parameters:
  `f` - the `JInternalFrame` being viewed

#### deactivateFrame

    protected void deactivateFrame​(JInternalFrame f)

This method is called when the frame is no longer selected. This action is delegated to the desktopManager.

Parameters:
  `f` - the `JInternalFrame` being viewed

#### createComponentListener

    protected ComponentListener createComponentListener()

Creates a component listener.

Returns:
  a component listener

#### createGlassPaneDispatcher

    protected MouseInputListener createGlassPaneDispatcher()

Creates a `GlassPaneDispatcher`.

Returns:
  a `GlassPaneDispatcher`