Overview | Package | Class | Use | Tree | Deprecated | Index | Help

PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jvnet.substance.utils
Class SubstanceTitlePane

    java.lang.Object
      java.awt.Component
          java.awt.Container
              javax.swing.JComponent
                  org.jvnet.substance.utils.SubstanceTitlePane

All Implemented Interfaces:
  java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

    public class SubstanceTitlePane

extends javax.swing.JComponent

Title pane for Substance look and feel.

Author:
  Kirill Grouchnikov
See Also:
  Serialized Form

Nested Class Summary
`protected static class` | `SubstanceTitlePane.ExtraComponentKind` Enumerates the types of children components.
`static class` | `SubstanceTitlePane.HeapStatusPanel` Panel that shows heap status and allows running the garbage collector.
`static class` | `SubstanceTitlePane.HeapStatusThread` Thread for heap status panel.
`class` | `SubstanceTitlePane.SubstanceMenuBar` Class responsible for drawing the system menu.
`protected class` | `SubstanceTitlePane.TitlePaneLayout` Layout manager for the title pane.

Nested classes/interfaces inherited from class javax.swing.JComponent
`javax.swing.JComponent.AccessibleJComponent`

Nested classes/interfaces inherited from class java.awt.Container
`java.awt.Container.AccessibleAWTContainer`

Nested classes/interfaces inherited from class java.awt.Component
`java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy`

Field Summary
`protected javax.swing.JButton` | `closeButton` Button used to close the frame.
`protected static java.lang.String` | `EXTRA_COMPONENT_KIND` Client property to mark every child to be either leading or trailing.
`static java.lang.String` | `HAS_BEEN_UNINSTALLED`
`protected static java.lang.String` | `heapStatusLogfileName` The logfile name for the heap status panel.
`protected javax.swing.JCheckBoxMenuItem` | `heapStatusMenuItem` The heap status toggle menu item of `this` title pane.
`protected SubstanceTitlePane.HeapStatusPanel` | `heapStatusPanel` The heap status panel of `this` title pane.
`protected javax.swing.JMenuBar` | `menuBar` JMenuBar, typically renders the system menu items.
`protected javax.swing.JButton` | `minimizeButton` Button used to minimize the frame
`protected java.beans.PropertyChangeListener` | `propertyListener` Listens on changes to `componentOrientation` and `SubstanceLookAndFeel.WINDOW_MODIFIED` properties.
`protected javax.swing.JRootPane` | `rootPane` JRootPane rendering for.
`protected javax.swing.JButton` | `toggleButton` Button used to maximize or restore the frame.
`protected java.awt.Window` | `window` Window we're currently in.

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.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
`SubstanceTitlePane(javax.swing.JRootPane root, SubstanceRootPaneUI ui)` Creates a new title pane.

Method Summary
`void` | `addNotify()`
`protected java.awt.LayoutManager` | `createLayout()` Returns the `LayoutManager` that should be installed on the `SubstanceTitlePane`.
`protected javax.swing.JMenuBar` | `createMenuBar()` Returns the `JMenuBar` displaying the appropriate system menu items.
`javax.swing.JRootPane` | `getRootPane()` Returns the `JRootPane` this was created for.
`protected java.awt.Rectangle` | `getTitleTextRectangle()` Computes the rectangle of the title text.
`protected int` | `getWindowDecorationStyle()` Returns the decoration style of the `JRootPane`.
`protected void` | `markExtraComponent(javax.swing.JComponent comp, SubstanceTitlePane.ExtraComponentKind kind)` Marks the specified child component with the specified extra component kind.
`void` | `paintComponent(java.awt.Graphics g)`
`void` | `removeNotify()`
`static void` | `setHeapStatusLogfileName(java.lang.String heapStatusLogfileName)` Sets location for heap status logfile.
`protected void` | `syncCloseButtonTooltip()` Synchronizes the tooltip of the close button.
`void` | `uninstall()` Uninstalls the necessary state.

Methods inherited from class javax.swing.JComponent
`addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, 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

### menuBar

    protected javax.swing.JMenuBar menuBar

  JMenuBar, typically renders the system menu items.

### toggleButton

    protected javax.swing.JButton toggleButton

  Button used to maximize or restore the frame.

### minimizeButton

    protected javax.swing.JButton minimizeButton

  Button used to minimize the frame

### closeButton

    protected javax.swing.JButton closeButton

  Button used to close the frame.

### window

    protected java.awt.Window window

  Window we're currently in.

### rootPane

    protected javax.swing.JRootPane rootPane

  JRootPane rendering for.

### heapStatusLogfileName

    protected static java.lang.String heapStatusLogfileName

  The logfile name for the heap status panel. Can be `null` - in this case the `SubstanceTitlePane.HeapStatusThread` will not write heap information.

### heapStatusPanel

    protected SubstanceTitlePane.HeapStatusPanel heapStatusPanel

  The heap status panel of `this` title pane.

### heapStatusMenuItem

    protected javax.swing.JCheckBoxMenuItem heapStatusMenuItem

  The heap status toggle menu item of `this` title pane.

### propertyListener

    protected java.beans.PropertyChangeListener propertyListener

  Listens on changes to `componentOrientation` and `SubstanceLookAndFeel.WINDOW_MODIFIED` properties.

### HAS_BEEN_UNINSTALLED

    public static final java.lang.String HAS_BEEN_UNINSTALLED

See Also:
  Constant Field Values

### EXTRA_COMPONENT_KIND

    protected static final java.lang.String EXTRA_COMPONENT_KIND

  Client property to mark every child to be either leading or trailing. The value must be one of `SubstanceTitlePane.ExtraComponentKind`.

  See Also:
    `markExtraComponent(JComponent, ExtraComponentKind)`, `getTitleTextRectangle()`, Constant Field Values

Constructor Detail

### SubstanceTitlePane

    public SubstanceTitlePane(javax.swing.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 javax.swing.JRootPane getRootPane()

  Returns the `JRootPane` this was created for.

  Overrides:
    `getRootPane` in class `javax.swing.JComponent`

### getWindowDecorationStyle

    protected int getWindowDecorationStyle()

  Returns the decoration style of the `JRootPane`.

  Returns:
    Decoration style of the `JRootPane`.

### addNotify

    public void addNotify()

  Overrides:
    `addNotify` in class `javax.swing.JComponent`

### removeNotify

    public void removeNotify()

  Overrides:
    `removeNotify` in class `javax.swing.JComponent`

### createMenuBar

    protected javax.swing.JMenuBar createMenuBar()

  Returns the `JMenuBar` displaying the appropriate system menu items.

  Returns:
    `JMenuBar` displaying the appropriate system menu items.

### createLayout

    protected java.awt.LayoutManager createLayout()

  Returns the `LayoutManager` that should be installed on the `SubstanceTitlePane`.

  Returns:
    Layout manager.

### paintComponent

    public void paintComponent(java.awt.Graphics g)

  Overrides:
    `paintComponent` in class `javax.swing.JComponent`

### getTitleTextRectangle

    protected java.awt.Rectangle 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 on `EXTRA_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:
    `java.lang.IllegalStateException` - If at least one child component of this title pane is not marked with the `EXTRA_COMPONENT_KIND` client property.
  See Also:
    `markExtraComponent(JComponent, ExtraComponentKind)`, `EXTRA_COMPONENT_KIND`

### setHeapStatusLogfileName

    public static void setHeapStatusLogfileName(java.lang.String heapStatusLogfileName)

  Sets location for heap status logfile. Relevant if `#setCanHaveHeapStatusPanel(boolean)` was called with `true`.

  Parameters:
    `heapStatusLogfileName` - Logfile for the heap status panel.

### syncCloseButtonTooltip

    protected void syncCloseButtonTooltip()

  Synchronizes the tooltip of the close button.

### markExtraComponent

    protected void markExtraComponent(javax.swing.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()`, `EXTRA_COMPONENT_KIND`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help

PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD