javax.swing.plaf.basic

Class BasicInternalFrameTitlePane

Implemented Interfaces:
ImageObserver, MenuContainer, Serializable
Known Direct Subclasses:
MetalInternalFrameTitlePane

public class BasicInternalFrameTitlePane
extends JComponent

This class acts as a titlebar for JInternalFrames.
See Also:
Serialized Form

Nested Class Summary

class
BasicInternalFrameTitlePane.CloseAction
The Action responsible for closing the JInternalFrame.
class
BasicInternalFrameTitlePane.IconifyAction
This Action is responsible for iconifying the JInternalFrame.
class
BasicInternalFrameTitlePane.MaximizeAction
This Action is responsible for maximizing the JInternalFrame.
class
BasicInternalFrameTitlePane.MoveAction
This Action is responsible for dragging the JInternalFrame.
class
BasicInternalFrameTitlePane.PropertyChangeHandler
This class is responsible for handling property change events from the JInternalFrame and adjusting the Title Pane as necessary.
class
BasicInternalFrameTitlePane.RestoreAction
This Action is responsible for restoring the JInternalFrame.
class
BasicInternalFrameTitlePane.SizeAction
This action is responsible for sizing the JInternalFrame.
class
BasicInternalFrameTitlePane.SystemMenuBar
This class acts as the MenuBar for the TitlePane.
class
BasicInternalFrameTitlePane.TitlePaneLayout
This class acts as the Layout Manager for the TitlePane.

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.BltBufferStrategy, Component.FlipBufferStrategy

Field Summary

protected static String
CLOSE_CMD
The action command for the Close action.
protected static String
ICONIFY_CMD
The action command for the Minimize action.
protected static String
MAXIMIZE_CMD
The action command for the Maximize action.
protected static String
MOVE_CMD
The action command for the Move action.
protected static String
RESTORE_CMD
The action command for the Restore action.
protected static String
SIZE_CMD
The action command for the Size action.
protected Action
closeAction
The action associated with closing the JInternalFrame.
protected JButton
closeButton
The button that closes the JInternalFrame.
protected Icon
closeIcon
The icon displayed in the close button.
protected JInternalFrame
frame
The JInternalFrame that this TitlePane is used in.
protected JButton
iconButton
The button that iconifies the JInternalFrame.
protected Icon
iconIcon
The icon displayed in the iconify button.
protected Action
iconifyAction
The action associated with iconifying the JInternalFrame.
protected JButton
maxButton
The button that maximizes the JInternalFrame.
protected Icon
maxIcon
The icon displayed in the maximize button.
protected Action
maximizeAction
The action associated with maximizing the JInternalFrame.
protected JMenuBar
menuBar
The JMenuBar that is located at the top left of the Title Pane.
protected Icon
minIcon
The icon displayed in the restore button.
protected Action
moveAction
The action associated with moving the JInternalFrame.
protected Color
notSelectedTextColor
The text color of the TitlePane when the JInternalFrame is not selected.
protected Color
notSelectedTitleColor
The background color of the TitlePane when the JInternalFrame is not selected.
protected PropertyChangeListener
propertyChangeListener
The Property Change listener that listens to the JInternalFrame.
protected Action
restoreAction
The action associated with restoring the JInternalFrame.
protected Color
selectedTextColor
The text color of the titlePane when the JInternalFrame is selected.
protected Color
selectedTitleColor
The background color of the TitlePane when the JInternalFrame is selected.
protected Action
sizeAction
The action associated with resizing the JInternalFrame.
protected JMenu
windowMenu
The JMenu inside the menuBar.

Fields inherited from class javax.swing.JComponent

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

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

BasicInternalFrameTitlePane(JInternalFrame f)
Creates a new BasicInternalFrameTitlePane object that is used in the given JInternalFrame.

Method Summary

protected void
addSubComponents()
This method adds the sub components to the TitlePane.
protected void
addSystemMenuItems(JMenu systemMenu)
This method adds the MenuItems to the given JMenu.
protected void
assembleSystemMenu()
This method creates the MenuBar used in the TitlePane.
protected void
createActions()
This method creates the actions that are used to manipulate the JInternalFrame.
protected void
createButtons()
This method creates the buttons used in the TitlePane.
protected LayoutManager
createLayout()
This method creates a new LayoutManager for the TitlePane.
protected PropertyChangeListener
createPropertyChangeListener()
This method creates a new PropertyChangeListener.
protected JMenu
createSystemMenu()
This method creates a new JMenu.
protected JMenuBar
createSystemMenuBar()
This method creates a new JMenubar.
protected void
enableActions()
This method enables the actions for the TitlePane given the frame's properties.
protected String
getTitle(String text, FontMetrics fm, int availableWidth)
This method returns the title string based on the available width and the font metrics.
protected void
installDefaults()
This method installs the defaults determined by the look and feel.
protected void
installListeners()
This method is used to install the listeners.
protected void
installTitlePane()
This method installs the TitlePane onto the JInternalFrameTitlePane.
void
paintComponent(Graphics g)
This method paints the TitlePane.
protected void
paintTitleBackground(Graphics g)
This method paints the TitlePane's background.
protected void
postClosingEvent(JInternalFrame frame)
This method fires something similar to a WINDOW_CLOSING event.
protected void
setButtonIcons()
Set icons for the minimize-, maximize- and close-buttons.
protected void
showSystemMenu()
This method programmatically shows the JMenu.
protected void
uninstallDefaults()
This method uninstalls the defaults.
protected void
uninstallListeners()
This method is used to uninstall the listeners.

Methods inherited from class javax.swing.JComponent

addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, extends EventListener> T[] getListeners, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, 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, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setNextFocusableComponent, setOpaque, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI

Methods inherited from class java.awt.Container

add, add, add, add, add, addContainerListener, addImpl, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, extends EventListener> T[] getListeners, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponentZOrder, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree

Methods inherited from class java.awt.Component

action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, extends EventListener> T[] getListeners, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFocusable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFocusable, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

CLOSE_CMD

protected static final String CLOSE_CMD
The action command for the Close action.

ICONIFY_CMD

protected static final String ICONIFY_CMD
The action command for the Minimize action.

MAXIMIZE_CMD

protected static final String MAXIMIZE_CMD
The action command for the Maximize action.

MOVE_CMD

protected static final String MOVE_CMD
The action command for the Move action.

RESTORE_CMD

protected static final String RESTORE_CMD
The action command for the Restore action.

SIZE_CMD

protected static final String SIZE_CMD
The action command for the Size action.

closeAction

protected Action closeAction
The action associated with closing the JInternalFrame.

closeButton

protected JButton closeButton
The button that closes the JInternalFrame.

closeIcon

protected Icon closeIcon
The icon displayed in the close button.

frame

protected JInternalFrame frame
The JInternalFrame that this TitlePane is used in.

iconButton

protected JButton iconButton
The button that iconifies the JInternalFrame.

iconIcon

protected Icon iconIcon
The icon displayed in the iconify button.

iconifyAction

protected Action iconifyAction
The action associated with iconifying the JInternalFrame.

maxButton

protected JButton maxButton
The button that maximizes the JInternalFrame.

maxIcon

protected Icon maxIcon
The icon displayed in the maximize button.

maximizeAction

protected Action maximizeAction
The action associated with maximizing the JInternalFrame.

menuBar

protected JMenuBar menuBar
The JMenuBar that is located at the top left of the Title Pane.

minIcon

protected Icon minIcon
The icon displayed in the restore button.

moveAction

protected Action moveAction
The action associated with moving the JInternalFrame.

notSelectedTextColor

protected Color notSelectedTextColor
The text color of the TitlePane when the JInternalFrame is not selected.

notSelectedTitleColor

protected Color notSelectedTitleColor
The background color of the TitlePane when the JInternalFrame is not selected.

propertyChangeListener

protected PropertyChangeListener propertyChangeListener
The Property Change listener that listens to the JInternalFrame.

restoreAction

protected Action restoreAction
The action associated with restoring the JInternalFrame.

selectedTextColor

protected Color selectedTextColor
The text color of the titlePane when the JInternalFrame is selected.

selectedTitleColor

protected Color selectedTitleColor
The background color of the TitlePane when the JInternalFrame is selected.

sizeAction

protected Action sizeAction
The action associated with resizing the JInternalFrame.

windowMenu

protected JMenu windowMenu
The JMenu inside the menuBar.

Constructor Details

BasicInternalFrameTitlePane

public BasicInternalFrameTitlePane(JInternalFrame f)
Creates a new BasicInternalFrameTitlePane object that is used in the given JInternalFrame.
Parameters:
f - The JInternalFrame this BasicInternalFrameTitlePane will be used in.

Method Details

addSubComponents

protected void addSubComponents()
This method adds the sub components to the TitlePane.

addSystemMenuItems

protected void addSystemMenuItems(JMenu systemMenu)
This method adds the MenuItems to the given JMenu.
Parameters:
systemMenu - The JMenu to add MenuItems to.

assembleSystemMenu

protected void assembleSystemMenu()
This method creates the MenuBar used in the TitlePane.

createActions

protected void createActions()
This method creates the actions that are used to manipulate the JInternalFrame.

createButtons

protected void createButtons()
This method creates the buttons used in the TitlePane.

createLayout

protected LayoutManager createLayout()
This method creates a new LayoutManager for the TitlePane.
Returns:
A new LayoutManager.

createPropertyChangeListener

protected PropertyChangeListener createPropertyChangeListener()
This method creates a new PropertyChangeListener.
Returns:
A new PropertyChangeListener.

createSystemMenu

protected JMenu createSystemMenu()
This method creates a new JMenu.
Returns:
A new JMenu.

createSystemMenuBar

protected JMenuBar createSystemMenuBar()
This method creates a new JMenubar.
Returns:
A new JMenuBar.

enableActions

protected void enableActions()
This method enables the actions for the TitlePane given the frame's properties.

getTitle

protected String getTitle(String text,
                          FontMetrics fm,
                          int availableWidth)
This method returns the title string based on the available width and the font metrics.
Parameters:
text - The desired title.
fm - The FontMetrics of the font used.
availableWidth - The available width.
Returns:
The allowable string.

installDefaults

protected void installDefaults()
This method installs the defaults determined by the look and feel.

installListeners

protected void installListeners()
This method is used to install the listeners.

installTitlePane

protected void installTitlePane()
This method installs the TitlePane onto the JInternalFrameTitlePane. It also creates any children components that need to be created and adds listeners to the appropriate components.

paintComponent

public void paintComponent(Graphics g)
This method paints the TitlePane.
Overrides:
paintComponent in interface JComponent
Parameters:
g - The Graphics object to paint with.

paintTitleBackground

protected void paintTitleBackground(Graphics g)
This method paints the TitlePane's background.
Parameters:
g - The Graphics object to paint with.

postClosingEvent

protected void postClosingEvent(JInternalFrame frame)
This method fires something similar to a WINDOW_CLOSING event.
Parameters:
frame - The JInternalFrame that is being closed.

setButtonIcons

protected void setButtonIcons()
Set icons for the minimize-, maximize- and close-buttons.

showSystemMenu

protected void showSystemMenu()
This method programmatically shows the JMenu.

uninstallDefaults

protected void uninstallDefaults()
This method uninstalls the defaults.

uninstallListeners

protected void uninstallListeners()
This method is used to uninstall the listeners.

BasicInternalFrameTitlePane.java -- Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.