javax.swing.plaf.basic

## Class BasicInternalFrameTitlePane

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.plaf.basic.BasicInternalFrameTitlePane

All Implemented Interfaces:
  ImageObserver, MenuContainer, Serializable

Direct Known Subclasses:
  MetalInternalFrameTitlePane

    public class BasicInternalFrameTitlePane
    extends JComponent

The class that manages a basic title bar

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans™ has been added to the `java.beans` package. Please see `XMLEncoder`.

### Nested Class Summary

Nested Classes
`class` `BasicInternalFrameTitlePane.CloseAction` This class should be treated as a "protected" inner class.
`class` `BasicInternalFrameTitlePane.IconifyAction` This class should be treated as a "protected" inner class.
`class` `BasicInternalFrameTitlePane.MaximizeAction` This class should be treated as a "protected" inner class.
`class` `BasicInternalFrameTitlePane.MoveAction` This class should be treated as a "protected" inner class.
`class` `BasicInternalFrameTitlePane.PropertyChangeHandler` This class should be treated as a "protected" inner class.
`class` `BasicInternalFrameTitlePane.RestoreAction` This class should be treated as a "protected" inner class.
`class` `BasicInternalFrameTitlePane.SizeAction` This class should be treated as a "protected" inner class.
`class` `BasicInternalFrameTitlePane.SystemMenuBar` This class should be treated as a "protected" inner class.
`class` `BasicInternalFrameTitlePane.TitlePaneLayout` This class should be treated as a "protected" inner class.

### Nested classes/interfaces inherited from class javax.swing.JComponent

`JComponent.AccessibleJComponent`

### Nested classes/interfaces inherited from class java.awt.Container

`Container.AccessibleAWTContainer`

### Nested classes/interfaces inherited from class java.awt.Component

`Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

### Field Summary

Fields
`protected static String` `CLOSE_CMD`
`protected Action` `closeAction`
`protected JButton` `closeButton`
`protected Icon` `closeIcon`
`protected JInternalFrame` `frame`
`protected JButton` `iconButton`
`protected Icon` `iconIcon`
`protected static String` `ICONIFY_CMD`
`protected Action` `iconifyAction`
`protected JButton` `maxButton`
`protected Icon` `maxIcon`
`protected static String` `MAXIMIZE_CMD`
`protected Action` `maximizeAction`
`protected JMenuBar` `menuBar`
`protected Icon` `minIcon`
`protected static String` `MOVE_CMD`
`protected Action` `moveAction`
`protected Color` `notSelectedTextColor`
`protected Color` `notSelectedTitleColor`
`protected PropertyChangeListener` `propertyChangeListener`
`protected static String` `RESTORE_CMD`
`protected Action` `restoreAction`
`protected Color` `selectedTextColor`
`protected Color` `selectedTitleColor`
`protected static String` `SIZE_CMD`
`protected Action` `sizeAction`
`protected JMenu` `windowMenu`

### Fields inherited from class javax.swing.JComponent

`listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

### Fields inherited from class java.awt.Component

`accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

### Fields inherited from interface java.awt.image.ImageObserver

`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

### Constructor Summary

Constructors
Constructor and Description
`BasicInternalFrameTitlePane(JInternalFrame f)`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected void` `addSubComponents()`
`protected void` `addSystemMenuItems(JMenu systemMenu)`
`protected void` `assembleSystemMenu()`
`protected void` `createActions()`
`protected void` `createButtons()`
`protected LayoutManager` `createLayout()`
`protected PropertyChangeListener` `createPropertyChangeListener()`
`protected JMenu` `createSystemMenu()`
`protected JMenuBar` `createSystemMenuBar()`
`protected void` `enableActions()`
`protected String` `getTitle(String text, FontMetrics fm, int availTextWidth)`
`protected void` `installDefaults()`
`protected void` `installListeners()`
`protected void` `installTitlePane()`
`void` `paintComponent(Graphics g)` Calls the UI delegate's paint method, if the UI delegate is non-`null`.
`protected void` `paintTitleBackground(Graphics g)` Invoked from paintComponent.
`protected void` `postClosingEvent(JInternalFrame frame)` Post a WINDOW_CLOSING-like event to the frame, so that it can be treated like a regular Frame.
`protected void` `setButtonIcons()`
`protected void` `showSystemMenu()`
`protected void` `uninstallDefaults()`
`protected void` `uninstallListeners()`

### Methods inherited from class javax.swing.JComponent

`addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI`

### Methods inherited from class java.awt.Container

`add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree`

### Methods inherited from class java.awt.Component

`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

### Methods inherited from class java.lang.Object

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

### Field Detail

#### menuBar

    protected JMenuBar menuBar

#### iconButton

    protected JButton iconButton

#### maxButton

    protected JButton maxButton

#### closeButton

    protected JButton closeButton

#### windowMenu

    protected JMenu windowMenu

#### frame

    protected JInternalFrame frame

#### selectedTitleColor

    protected Color selectedTitleColor

#### selectedTextColor

    protected Color selectedTextColor

#### notSelectedTitleColor

    protected Color notSelectedTitleColor

#### notSelectedTextColor

    protected Color notSelectedTextColor

#### maxIcon

    protected Icon maxIcon

#### minIcon

    protected Icon minIcon

#### iconIcon

    protected Icon iconIcon

#### closeIcon

    protected Icon closeIcon

#### propertyChangeListener

    protected PropertyChangeListener propertyChangeListener

#### closeAction

    protected Action closeAction

#### maximizeAction

    protected Action maximizeAction

#### iconifyAction

    protected Action iconifyAction

#### restoreAction

    protected Action restoreAction

#### moveAction

    protected Action moveAction

#### sizeAction

    protected Action sizeAction

#### CLOSE_CMD

    protected static final String CLOSE_CMD

#### ICONIFY_CMD

    protected static final String ICONIFY_CMD

#### RESTORE_CMD

    protected static final String RESTORE_CMD

#### MAXIMIZE_CMD

    protected static final String MAXIMIZE_CMD

#### MOVE_CMD

    protected static final String MOVE_CMD

#### SIZE_CMD

    protected static final String SIZE_CMD

### Constructor Detail

#### BasicInternalFrameTitlePane

    public BasicInternalFrameTitlePane(JInternalFrame f)

### Method Detail

#### installTitlePane

    protected void installTitlePane()

#### addSubComponents

    protected void addSubComponents()

#### createActions

    protected void createActions()

#### installListeners

    protected void installListeners()

#### uninstallListeners

    protected void uninstallListeners()

#### installDefaults

    protected void installDefaults()

#### uninstallDefaults

    protected void uninstallDefaults()

#### createButtons

    protected void createButtons()

#### setButtonIcons

    protected void setButtonIcons()

#### assembleSystemMenu

    protected void assembleSystemMenu()

#### addSystemMenuItems

    protected void addSystemMenuItems(JMenu systemMenu)

#### createSystemMenu

    protected JMenu createSystemMenu()

#### createSystemMenuBar

    protected JMenuBar createSystemMenuBar()

#### showSystemMenu

    protected void showSystemMenu()

#### paintComponent

    public void paintComponent(Graphics g)

Description copied from class: `JComponent`
Calls the UI delegate's paint method, if the UI delegate is non-`null`. We pass the delegate a copy of the `Graphics` object to protect the rest of the paint code from irrevocable changes (for example, `Graphics.translate`).

If you override this in a subclass you should not make permanent changes to the passed in `Graphics`. For example, you should not alter the clip `Rectangle` or modify the transform. If you need to do these operations you may find it easier to create a new `Graphics` from the passed in `Graphics` and manipulate it. Further, if you do not invoker super's implementation you must honor the opaque property, that is if this component is opaque, you must completely fill in the background in a non-opaque color. If you do not honor the opaque property you will likely see visual artifacts.

The passed in `Graphics` object might have a transform other than the identify transform installed on it. In this case, you might get unexpected results if you cumulatively apply another transform.

Overrides:
  `paintComponent` in class `JComponent`
Parameters:
  `g` - the `Graphics` object to protect
See Also:
  `JComponent.paint(java.awt.Graphics)`, `ComponentUI`

#### paintTitleBackground

    protected void paintTitleBackground(Graphics g)

Invoked from paintComponent. Paints the background of the titlepane. All text and icons will then be rendered on top of this background.

Parameters:
  `g` - the graphics to use to render the background
Since:
  1.4

#### getTitle

    protected String getTitle(String text,
                              FontMetrics fm,
                              int availTextWidth)

#### postClosingEvent

    protected void postClosingEvent(JInternalFrame frame)

Post a WINDOW_CLOSING-like event to the frame, so that it can be treated like a regular Frame.

#### enableActions

    protected void enableActions()

#### createPropertyChangeListener

    protected PropertyChangeListener createPropertyChangeListener()

#### createLayout

    protected LayoutManager createLayout()