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 enumEnumerates the types of children components.static classPanel that shows heap status and allows running the garbage collector.static classThread for heap status panel.classClass responsible for drawing the system menu.protected classLayout manager for the title pane.Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ImageThe application icon to be displayed.protected JButtonButton used to close the frame.protected static final StringClient property to mark every child to be either leading or trailing.protected JCheckBoxMenuItemThe heap status toggle menu item ofthistitle pane.protected SubstanceTitlePane.HeapStatusPanelThe heap status panel ofthistitle pane.protected JMenuBarJMenuBar, typically renders the system menu items.protected JButtonButton used to minimize the frameprotected PropertyChangeListenerListens on changes tocomponentOrientationandSubstanceLookAndFeel.WINDOW_MODIFIEDproperties.protected JRootPaneJRootPane rendering for.protected JButtonButton used to maximize or restore the frame.protected WindowWindow 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_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields 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 TypeMethodDescriptionvoidprotected LayoutManagerReturns theLayoutManagerthat should be installed on theSubstanceTitlePane.protected JMenuBarReturns theJMenuBardisplaying the appropriate system menu items.Returns theJRootPanethis was created for.protected RectanglegetTitleTextRectangle(int preferredWidth) Computes the rectangle of the title text.protected intReturns the decoration style of theJRootPane.protected voidMarks the specified child component with the specified extra component kind.voidvoidstatic voidsetHeapStatusLogfileName(String heapStatusLogfileName) Sets location for heap status logfile.protected voidSynchronizes the tooltip of the close button.voidUninstalls 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, updateUIMethods 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, validateTreeMethods 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 ofthistitle pane. -
heapStatusMenuItem
The heap status toggle menu item ofthistitle pane. -
propertyListener
Listens on changes tocomponentOrientationandSubstanceLookAndFeel.WINDOW_MODIFIEDproperties. -
EXTRA_COMPONENT_KIND
Client property to mark every child to be either leading or trailing. The value must be one ofSubstanceTitlePane.ExtraComponentKind. -
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 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
Returns theJMenuBardisplaying the appropriate system menu items.- Returns:
JMenuBardisplaying the appropriate system menu items.
-
createLayout
Returns theLayoutManagerthat should be installed on theSubstanceTitlePane.- Returns:
- Layout manager.
-
getThisDecorationType
-
paintComponent
- Overrides:
paintComponentin 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_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:
-
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
-