Class SubstanceTitlePane
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- org.pushingpixels.substance.internal.utils.SubstanceTitlePane
-
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable
public class SubstanceTitlePane extends JComponent
Title pane for Substance look and feel.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classSubstanceTitlePane.ExtraComponentKindEnumerates the types of children components.static classSubstanceTitlePane.HeapStatusPanelPanel that shows heap status and allows running the garbage collector.static classSubstanceTitlePane.HeapStatusThreadThread for heap status panel.classSubstanceTitlePane.SubstanceMenuBarClass responsible for drawing the system menu.protected classSubstanceTitlePane.TitlePaneLayoutLayout manager for the title pane.-
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 Modifier and Type Field Description protected ImageappIconThe application icon to be displayed.protected JButtoncloseButtonButton used to close the frame.protected static StringEXTRA_COMPONENT_KINDClient property to mark every child to be either leading or trailing.protected JCheckBoxMenuItemheapStatusMenuItemThe heap status toggle menu item ofthistitle pane.protected SubstanceTitlePane.HeapStatusPanelheapStatusPanelThe heap status panel ofthistitle pane.protected JMenuBarmenuBarJMenuBar, typically renders the system menu items.protected JButtonminimizeButtonButton used to minimize the frameprotected PropertyChangeListenerpropertyListenerListens on changes tocomponentOrientationandSubstanceLookAndFeel.WINDOW_MODIFIEDproperties.protected JRootPanerootPaneJRootPane rendering for.protected JButtontoggleButtonButton used to maximize or restore the frame.protected WindowwindowWindow we're currently in.-
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 Description SubstanceTitlePane(JRootPane root, SubstanceRootPaneUI ui)Creates a new title pane.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddNotify()protected LayoutManagercreateLayout()Returns theLayoutManagerthat should be installed on theSubstanceTitlePane.protected JMenuBarcreateMenuBar()Returns theJMenuBardisplaying the appropriate system menu items.AbstractButtongetCloseButton()JRootPanegetRootPane()Returns theJRootPanethis was created for.DecorationAreaTypegetThisDecorationType()protected RectanglegetTitleTextRectangle(int preferredWidth)Computes the rectangle of the title text.protected intgetWindowDecorationStyle()Returns the decoration style of theJRootPane.protected voidmarkExtraComponent(JComponent comp, SubstanceTitlePane.ExtraComponentKind kind)Marks the specified child component with the specified extra component kind.voidpaintComponent(Graphics g)voidremoveNotify()static voidsetHeapStatusLogfileName(String heapStatusLogfileName)Sets location for heap status logfile.protected voidsyncCloseButtonTooltip()Synchronizes the tooltip of the close button.voiduninstall()Uninstalls the necessary state.-
Methods inherited from class javax.swing.JComponent
addAncestorListener, 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, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUI, 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, 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, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
menuBar
protected JMenuBar menuBar
JMenuBar, typically renders the system menu items.
-
toggleButton
protected JButton toggleButton
Button used to maximize or restore the frame.
-
minimizeButton
protected JButton minimizeButton
Button used to minimize the frame
-
closeButton
protected JButton closeButton
Button used to close the frame.
-
window
protected Window window
Window we're currently in.
-
rootPane
protected JRootPane rootPane
JRootPane rendering for.
-
heapStatusPanel
protected SubstanceTitlePane.HeapStatusPanel heapStatusPanel
The heap status panel ofthistitle pane.
-
heapStatusMenuItem
protected JCheckBoxMenuItem heapStatusMenuItem
The heap status toggle menu item ofthistitle pane.
-
propertyListener
protected PropertyChangeListener propertyListener
Listens on changes tocomponentOrientationandSubstanceLookAndFeel.WINDOW_MODIFIEDproperties.
-
EXTRA_COMPONENT_KIND
protected static final String EXTRA_COMPONENT_KIND
Client property to mark every child to be either leading or trailing. The value must be one ofSubstanceTitlePane.ExtraComponentKind.
-
appIcon
protected Image appIcon
The application icon to be displayed.
-
-
Constructor Detail
-
SubstanceTitlePane
public SubstanceTitlePane(JRootPane root, SubstanceRootPaneUI ui)
Creates a new title pane.- Parameters:
root- Root pane.ui- Root pane UI.
-
-
Method Detail
-
uninstall
public void uninstall()
Uninstalls the necessary state.
-
getRootPane
public JRootPane getRootPane()
Returns theJRootPanethis was created for.- Overrides:
getRootPanein classJComponent
-
getWindowDecorationStyle
protected int getWindowDecorationStyle()
Returns the decoration style of theJRootPane.- Returns:
- Decoration style of the
JRootPane.
-
addNotify
public void addNotify()
- Overrides:
addNotifyin classJComponent
-
removeNotify
public void removeNotify()
- Overrides:
removeNotifyin classJComponent
-
createMenuBar
protected JMenuBar createMenuBar()
Returns theJMenuBardisplaying the appropriate system menu items.- Returns:
JMenuBardisplaying the appropriate system menu items.
-
createLayout
protected LayoutManager createLayout()
Returns theLayoutManagerthat should be installed on theSubstanceTitlePane.- Returns:
- Layout manager.
-
getThisDecorationType
public DecorationAreaType getThisDecorationType()
-
paintComponent
public void paintComponent(Graphics g)
- Overrides:
paintComponentin classJComponent
-
getTitleTextRectangle
protected Rectangle getTitleTextRectangle(int preferredWidth)
Computes the rectangle of the title text. This method looks at all the children components of the title pane, grouping them by leading and trailing (based onEXTRA_COMPONENT_KINDclient property). The title text rectangle is the space between the leading group and the trailing group.- Returns:
- Rectangle of the title text.
- Throws:
IllegalStateException- If at least one child component of this title pane is not marked with theEXTRA_COMPONENT_KINDclient property.- See Also:
markExtraComponent(JComponent, ExtraComponentKind),EXTRA_COMPONENT_KIND
-
setHeapStatusLogfileName
public static void setHeapStatusLogfileName(String heapStatusLogfileName)
Sets location for heap status logfile.- Parameters:
heapStatusLogfileName- Logfile for the heap status panel.
-
syncCloseButtonTooltip
protected void syncCloseButtonTooltip()
Synchronizes the tooltip of the close button.
-
markExtraComponent
protected void markExtraComponent(JComponent comp, SubstanceTitlePane.ExtraComponentKind kind)
Marks the specified child component with the specified extra component kind.- Parameters:
comp- Child component.kind- Extra kind.- See Also:
getTitleTextRectangle(int),EXTRA_COMPONENT_KIND
-
getCloseButton
public AbstractButton getCloseButton()
-
-