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
Title pane for Substance look and feel.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static enum
Enumerates the types of children components.static class
Panel that shows heap status and allows running the garbage collector.static class
Thread for heap status panel.class
Class responsible for drawing the system menu.protected class
Layout 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
FieldsModifier and TypeFieldDescriptionprotected Image
The application icon to be displayed.protected JButton
Button used to close the frame.protected static final String
Client property to mark every child to be either leading or trailing.protected JCheckBoxMenuItem
The heap status toggle menu item ofthis
title pane.protected SubstanceTitlePane.HeapStatusPanel
The heap status panel ofthis
title pane.protected JMenuBar
JMenuBar, typically renders the system menu items.protected JButton
Button used to minimize the frameprotected PropertyChangeListener
Listens on changes tocomponentOrientation
andSubstanceLookAndFeel.WINDOW_MODIFIED
properties.protected JRootPane
JRootPane rendering for.protected JButton
Button used to maximize or restore the frame.protected Window
Window 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
ConstructorsConstructorDescriptionSubstanceTitlePane
(JRootPane root, SubstanceRootPaneUI ui) Creates a new title pane. -
Method Summary
Modifier and TypeMethodDescriptionvoid
protected LayoutManager
Returns theLayoutManager
that should be installed on theSubstanceTitlePane
.protected JMenuBar
Returns theJMenuBar
displaying the appropriate system menu items.Returns theJRootPane
this was created for.protected Rectangle
getTitleTextRectangle
(int preferredWidth) Computes the rectangle of the title text.protected int
Returns the decoration style of theJRootPane
.protected void
Marks the specified child component with the specified extra component kind.void
void
static void
setHeapStatusLogfileName
(String heapStatusLogfileName) Sets location for heap status logfile.protected void
Synchronizes the tooltip of the close button.void
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 Details
-
toggleButton
Button used to maximize or restore the frame. -
minimizeButton
Button used to minimize the frame -
closeButton
Button used to close the frame. -
window
Window we're currently in. -
rootPane
JRootPane rendering for. -
heapStatusPanel
The heap status panel ofthis
title pane. -
heapStatusMenuItem
The heap status toggle menu item ofthis
title pane. -
propertyListener
Listens on changes tocomponentOrientation
andSubstanceLookAndFeel.WINDOW_MODIFIED
properties. -
EXTRA_COMPONENT_KIND
Client property to mark every child to be either leading or trailing. The value must be one ofSubstanceTitlePane.ExtraComponentKind
.- See Also:
-
appIcon
The application icon to be displayed.
-
Constructor Details
-
SubstanceTitlePane
Creates a new title pane.- Parameters:
root
- Root pane.ui
- Root pane UI.
-
-
Method Details
-
uninstall
public void uninstall()Uninstalls the necessary state. -
getRootPane
Returns theJRootPane
this was created for.- Overrides:
getRootPane
in classJComponent
-
getWindowDecorationStyle
protected int getWindowDecorationStyle()Returns the decoration style of theJRootPane
.- Returns:
- Decoration style of the
JRootPane
.
-
addNotify
public void addNotify()- Overrides:
addNotify
in classJComponent
-
removeNotify
public void removeNotify()- Overrides:
removeNotify
in classJComponent
-
createMenuBar
Returns theJMenuBar
displaying the appropriate system menu items.- Returns:
JMenuBar
displaying the appropriate system menu items.
-
createLayout
Returns theLayoutManager
that should be installed on theSubstanceTitlePane
.- Returns:
- Layout manager.
-
getThisDecorationType
-
paintComponent
- Overrides:
paintComponent
in classJComponent
-
getTitleTextRectangle
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_KIND
client 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_KIND
client property.- See Also:
-
setHeapStatusLogfileName
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
Marks the specified child component with the specified extra component kind.- Parameters:
comp
- Child component.kind
- Extra kind.- See Also:
-
getCloseButton
-