javax.swing.plaf.metal
Class MetalInternalFrameTitlePane

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.plaf.basic.BasicInternalFrameTitlePane
                  extended byjavax.swing.plaf.metal.MetalInternalFrameTitlePane
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable

public class MetalInternalFrameTitlePane
extends BasicInternalFrameTitlePane

Class that manages a JLF title bar

Since:
1.3
Author:
Steve Wilson, Brian Beck
See Also:
Serialized Form

Nested Class Summary
(package private)  class MetalInternalFrameTitlePane.MetalPropertyChangeHandler
           
(package private)  class MetalInternalFrameTitlePane.MetalTitlePaneLayout
           
 
Nested classes inherited from class javax.swing.plaf.basic.BasicInternalFrameTitlePane
BasicInternalFrameTitlePane.CloseAction, BasicInternalFrameTitlePane.IconifyAction, BasicInternalFrameTitlePane.MaximizeAction, BasicInternalFrameTitlePane.MoveAction, BasicInternalFrameTitlePane.PropertyChangeHandler, BasicInternalFrameTitlePane.RestoreAction, BasicInternalFrameTitlePane.SizeAction, BasicInternalFrameTitlePane.SystemMenuBar, BasicInternalFrameTitlePane.TitlePaneLayout
 
Nested classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
(package private)  MetalBumps activeBumps
           
private  Color activeBumpsHighlight
           
private  Color activeBumpsShadow
           
(package private)  int buttonsWidth
           
private static Border handyEmptyBorder
           
(package private)  MetalBumps inactiveBumps
           
protected  boolean isPalette
           
(package private)  MetalBumps paletteBumps
           
protected  Icon paletteCloseIcon
           
protected  int paletteTitleHeight
           
private  String selectedBackgroundKey
          Key used to lookup Color from UIManager.
private  String selectedForegroundKey
          Key used to lookup Color from UIManager.
private  String selectedShadowKey
          Key used to lookup shadow color from UIManager.
private  boolean wasClosable
          Boolean indicating the state of the JInternalFrames closable property at updateUI time.
 
Fields inherited from class javax.swing.plaf.basic.BasicInternalFrameTitlePane
CLOSE_CMD, closeAction, closeButton, closeIcon, frame, iconButton, iconIcon, ICONIFY_CMD, iconifyAction, maxButton, maxIcon, MAXIMIZE_CMD, maximizeAction, menuBar, minIcon, MOVE_CMD, moveAction, notSelectedTextColor, notSelectedTitleColor, propertyChangeListener, RESTORE_CMD, restoreAction, selectedTextColor, selectedTitleColor, SIZE_CMD, sizeAction, windowMenu
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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.Container
 
Fields inherited from class java.awt.Component
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
MetalInternalFrameTitlePane(JInternalFrame f)
           
 
Method Summary
 void addNotify()
          Notifies this component that it now has a parent component.
protected  void addSubComponents()
          Override the parent's method avoid creating a menu bar.
protected  void addSystemMenuItems(JMenu systemMenu)
          Override the parent's method to do nothing.
protected  void assembleSystemMenu()
          Override the parent's method to do nothing.
protected  void createButtons()
           
protected  LayoutManager createLayout()
           
protected  java.beans.PropertyChangeListener createPropertyChangeListener()
           
protected  void installDefaults()
           
 void paintComponent(Graphics g)
          Calls the UI delegate's paint method, if the UI delegate is non-null.
 void paintPalette(Graphics g)
           
 void setPalette(boolean b)
           
protected  void showSystemMenu()
          Override the parent's method to do nothing.
protected  void uninstallDefaults()
           
private  void updateOptionPaneState()
          Updates any state dependant upon the JInternalFrame being shown in a JOptionPane.
 
Methods inherited from class javax.swing.plaf.basic.BasicInternalFrameTitlePane
createActions, createSystemMenu, createSystemMenuBar, enableActions, getTitle, installListeners, installTitlePane, paintTitleBackground, postClosingEvent, setButtonIcons, uninstallListeners
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

isPalette

protected boolean isPalette

paletteCloseIcon

protected Icon paletteCloseIcon

paletteTitleHeight

protected int paletteTitleHeight

handyEmptyBorder

private static final Border handyEmptyBorder

selectedBackgroundKey

private String selectedBackgroundKey
Key used to lookup Color from UIManager. If this is null, getWindowTitleBackground is used.


selectedForegroundKey

private String selectedForegroundKey
Key used to lookup Color from UIManager. If this is null, getWindowTitleForeground is used.


selectedShadowKey

private String selectedShadowKey
Key used to lookup shadow color from UIManager. If this is null, getPrimaryControlDarkShadow is used.


wasClosable

private boolean wasClosable
Boolean indicating the state of the JInternalFrames closable property at updateUI time.


buttonsWidth

int buttonsWidth

activeBumps

MetalBumps activeBumps

inactiveBumps

MetalBumps inactiveBumps

paletteBumps

MetalBumps paletteBumps

activeBumpsHighlight

private Color activeBumpsHighlight

activeBumpsShadow

private Color activeBumpsShadow
Constructor Detail

MetalInternalFrameTitlePane

public MetalInternalFrameTitlePane(JInternalFrame f)
Method Detail

addNotify

public void addNotify()
Description copied from class: JComponent
Notifies this component that it now has a parent component. When this method is invoked, the chain of parent components is set up with KeyboardAction event listeners.

Overrides:
addNotify in class JComponent
See Also:
JComponent.registerKeyboardAction(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)

installDefaults

protected void installDefaults()
Overrides:
installDefaults in class BasicInternalFrameTitlePane

uninstallDefaults

protected void uninstallDefaults()
Overrides:
uninstallDefaults in class BasicInternalFrameTitlePane

createButtons

protected void createButtons()
Overrides:
createButtons in class BasicInternalFrameTitlePane

assembleSystemMenu

protected void assembleSystemMenu()
Override the parent's method to do nothing. Metal frames do not have system menus.

Overrides:
assembleSystemMenu in class BasicInternalFrameTitlePane

addSystemMenuItems

protected void addSystemMenuItems(JMenu systemMenu)
Override the parent's method to do nothing. Metal frames do not have system menus.

Overrides:
addSystemMenuItems in class BasicInternalFrameTitlePane

showSystemMenu

protected void showSystemMenu()
Override the parent's method to do nothing. Metal frames do not have system menus.

Overrides:
showSystemMenu in class BasicInternalFrameTitlePane

addSubComponents

protected void addSubComponents()
Override the parent's method avoid creating a menu bar. Metal frames do not have system menus.

Overrides:
addSubComponents in class BasicInternalFrameTitlePane

createPropertyChangeListener

protected java.beans.PropertyChangeListener createPropertyChangeListener()
Overrides:
createPropertyChangeListener in class BasicInternalFrameTitlePane

createLayout

protected LayoutManager createLayout()
Overrides:
createLayout in class BasicInternalFrameTitlePane

paintPalette

public void paintPalette(Graphics g)

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.

Overrides:
paintComponent in class BasicInternalFrameTitlePane

setPalette

public void setPalette(boolean b)

updateOptionPaneState

private void updateOptionPaneState()
Updates any state dependant upon the JInternalFrame being shown in a JOptionPane.