BasicInternalFrameUI (Java SE 26 & JDK 26)
Description: declaration: module: java.desktop, package: javax.swing.plaf.basic, class: BasicInternalFrameUI
Keywords: javax.swing.plaf.basic.BasicInternalFrameUI class

# 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
  Modifier and Type
  Class
  Description
  `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
  Modifier and Type
  Field
  Description
  `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
  Constructor
  Description
  `BasicInternalFrameUI(JInternalFrame b)`
  Constructs a `BasicInternalFrameUI`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `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.
  `final boolean`
  `isKeyBindingActive()`
  Returns whether or no the key binding is active.
  `protected final 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 final void`
  `setKeyBindingActive(boolean b)`
  Sets the key binding activity.
  `protected final 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 ComponentUI

  `contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, paint, update`
  Modifier and Type
  Method
  Description
  `boolean`
  `contains(JComponent c, int x, int y)`
  Returns `true` if the specified x,y location is contained within the look and feel's defined shape of the specified component.
  `Accessible`
  `getAccessibleChild(JComponent c, int i)`
  Returns the `i`th `Accessible` child of the object.
  `int`
  `getAccessibleChildrenCount(JComponent c)`
  Returns the number of accessible children in the object.
  `int`
  `getBaseline(JComponent c, int width, int height)`
  Returns the baseline.
  `Component.BaselineResizeBehavior`
  `getBaselineResizeBehavior(JComponent c)`
  Returns an enum indicating how the baseline of the component changes as the size changes.
  `void`
  `paint(Graphics g, JComponent c)`
  Paints the specified component appropriately for the look and feel.
  `void`
  `update(Graphics g, JComponent c)`
  Notifies this UI delegate that it is time to paint the specified component.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Field Details

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

  - ### BasicInternalFrameUI

    public BasicInternalFrameUI(JInternalFrame b)
    Constructs a `BasicInternalFrameUI`.
    Parameters:
      `b` - the internal frame

- ## Method Details

  - ### 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(JComponent)`
      - `JComponent.setUI(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(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(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(Container)`
      - `ComponentUI.getPreferredSize(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(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`