bibliothek.gui.dock.themes.basic
Class BasicDockTitle

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by bibliothek.gui.dock.util.BackgroundPanel
                      extended by bibliothek.gui.dock.title.AbstractDockTitle
                          extended by bibliothek.gui.dock.themes.basic.BasicDockTitle
All Implemented Interfaces:
DockElementRepresentative, DockTitle, PaintableComponent, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Direct Known Subclasses:
BasicTabDockTitle, SmoothDefaultTitle

@ColorCodes(value={"title.active.left","title.inactive.left","title.active.right","title.inactive.right","title.active.text","title.inactive.text"})
public class BasicDockTitle
extends AbstractDockTitle

The default-title that is used most times in the framework. This title shows an icon, a text, some small buttons and a gradient as background.

Author:
Benjamin Sigg
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Nested classes/interfaces inherited from interface bibliothek.gui.dock.title.DockTitle
DockTitle.Orientation
 
Field Summary
static DockTitleFactory FACTORY
          A factory for the BasicDockTitle.
 
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 bibliothek.gui.dock.title.DockTitle
ORIENTATION_STRATEGY
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
  BasicDockTitle(Dockable dockable, DockTitleVersion origin)
          Creates a new title
protected BasicDockTitle(Dockable dockable, DockTitleVersion origin, boolean setDefaultConditionalFonts)
          Creates a new title
 
Method Summary
 java.awt.Color getActiveLeftColor()
          Gets the color that is used on the left side if this title is active.
 TitleColor getActiveLeftTitleColor()
          Gets the handle for the left active color.
 java.awt.Color getActiveRightColor()
          Gets the color that is used on the right side in the gradient of this title.
 TitleColor getActiveRightTitleColor()
          Gets the handle for the left active color.
 java.awt.Color getActiveTextColor()
          Gets the color that is used for text if this title is active.
 TitleColor getActiveTextTitleColor()
          Gets a handle for the foreground color of an active title.
protected  java.awt.GradientPaint getGradient(java.awt.Color left, java.awt.Color right, java.awt.Component component)
          Gets the gradient which is used to fill the background of component.
 java.awt.Color getInactiveLeftColor()
          Gets the color which is used on the left side of the gradient if this title is not active.
 TitleColor getInactiveLeftTitleColor()
          Gets a handle for the left inactive color.
 java.awt.Color getInactiveRightColor()
          Gets the color which is used on the right side of the gradient if this title is not active.
 TitleColor getInactiveRightTitleColor()
          Gets a handle for the inactive right background color.
 java.awt.Color getInactiveTextColor()
          Gets the color of the text.
 TitleColor getInactiveTextTitleColor()
          Gets a handle for the inactive foreground color.
protected  void paintBackground(java.awt.Graphics g, javax.swing.JComponent component)
          Paints the whole background of this title.
 void reshape(int x, int y, int w, int h)
          Deprecated. 
 void setActive(boolean active)
          Sets whether this title should be painted as focused or not.
 void setActiveLeftColor(java.awt.Color activeLeftColor)
          Sets the color that is used on the left side if this title is active.
 void setActiveLeftColorId(java.lang.String id)
          Changes the identifier that is used for the active left color.
 void setActiveRightColor(java.awt.Color activeRightColor)
          Sets the color which is used on the right side in the gradient of this title.
 void setActiveRightColorId(java.lang.String id)
          Changes the identifier that is used for the active right color.
 void setActiveTextColor(java.awt.Color activeTextColor)
          Sets the color which is used to paint the text if this title is active.
 void setActiveTextColorId(java.lang.String id)
          Changes the identifier that is used for the active text color.
 void setInactiveLeftColor(java.awt.Color inactiveLeftColor)
          Sets the color which will be used on the left side of the gradient if this title is not active.
 void setInactiveLeftColorId(java.lang.String id)
          Changes the identifier that is used for the inactive left color.
 void setInactiveRightColor(java.awt.Color inactiveRightColor)
          Sets the color of the right side of the gradient.
 void setInactiveRightColorId(java.lang.String id)
          Changes the identifier that is used for the inactive right color.
 void setInactiveTextColor(java.awt.Color inactiveTextColor)
          Sets the color of the text.
 void setInactiveTextColorId(java.lang.String id)
          Changes the identifier that is used for the inactive text color.
 void setOrientation(DockTitle.Orientation orientation)
          Sets the orientation of this title.
protected  void updateColors()
          Invoked after a color has changed.
 void validate()
           
 
Methods inherited from class bibliothek.gui.dock.title.AbstractDockTitle
addColor, addConditionalFont, addFont, addMouseInputListener, bind, changed, createItemFor, doLayout, getActionSourceFor, getComponent, getDockable, getElement, getIcon, getIconBounds, getIconTextGap, getInnerInsets, getMinimumSize, getOrientation, getOrigin, getPopupLocation, getPreferredSize, getText, init, isActive, isBound, isShowMiniButtons, isUsedAsTitle, paintBackground, paintForeground, paintForeground, removeAllConditionalFonts, removeColor, removeFont, removeMouseInputListener, setBackground, setBorder, setFont, setFontModifier, setForeground, setIcon, setIconTextGap, setShowMiniButtons, setText, setTooltip, shouldFocus, shouldTransfersFocus, unbind, updateFonts, updateIcon, updateText, updateTooltip
 
Methods inherited from class bibliothek.gui.dock.util.BackgroundPanel
getBackgroundAlgorithm, isSolid, isTransparent, paint, paintBorder, paintChildren, paintComponent, paintOverlay, setBackground, setSolid, setTransparent
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, 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, 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

FACTORY

public static final DockTitleFactory FACTORY
A factory for the BasicDockTitle.

Constructor Detail

BasicDockTitle

public BasicDockTitle(Dockable dockable,
                      DockTitleVersion origin)
Creates a new title

Parameters:
dockable - the owner of this title
origin - the version which was used to create this title

BasicDockTitle

protected BasicDockTitle(Dockable dockable,
                         DockTitleVersion origin,
                         boolean setDefaultConditionalFonts)
Creates a new title

Parameters:
dockable - the owner of this title
origin - the version which was used to create this title
setDefaultConditionalFonts - whether to set the default set of conditional fonts for DockFont.ID_TITLE_ACTIVE and DockFont.ID_TITLE_INACTIVE
Method Detail

reshape

@Deprecated
public void reshape(int x,
                               int y,
                               int w,
                               int h)
Deprecated. 

Overrides:
reshape in class javax.swing.JComponent

validate

public void validate()
Overrides:
validate in class java.awt.Container

setOrientation

public void setOrientation(DockTitle.Orientation orientation)
Description copied from interface: DockTitle
Sets the orientation of this title. The layout of this title should be influenced by the orientation.

Specified by:
setOrientation in interface DockTitle
Overrides:
setOrientation in class AbstractDockTitle
Parameters:
orientation - the orientation

paintBackground

protected void paintBackground(java.awt.Graphics g,
                               javax.swing.JComponent component)
Description copied from class: AbstractDockTitle
Paints the whole background of this title. The default implementation just fills the background with the background color of component.

Overrides:
paintBackground in class AbstractDockTitle
Parameters:
g - the graphics context used to paint
component - the Component which represents this title

getGradient

protected java.awt.GradientPaint getGradient(java.awt.Color left,
                                             java.awt.Color right,
                                             java.awt.Component component)
Gets the gradient which is used to fill the background of component.

Parameters:
left - the first color of the gradient
right - the second color of the gradient
component - the component on which the gradient will be used
Returns:
the new gradient

getActiveLeftColor

public java.awt.Color getActiveLeftColor()
Gets the color that is used on the left side if this title is active. This method does the same as getActiveLeftTitleColor().color();.

Returns:
the color
See Also:
setActiveLeftColor(Color), getActiveLeftTitleColor()

getActiveLeftTitleColor

public TitleColor getActiveLeftTitleColor()
Gets the handle for the left active color.

Returns:
the handle, can be used to change the color of this title

setActiveLeftColor

public void setActiveLeftColor(java.awt.Color activeLeftColor)
Sets the color that is used on the left side if this title is active. This method does the same as getActiveLeftTitleColor().setValue( activeLeftColor );.

Parameters:
activeLeftColor - the color
See Also:
getActiveLeftTitleColor()

setActiveLeftColorId

public void setActiveLeftColorId(java.lang.String id)
Changes the identifier that is used for the active left color.

Parameters:
id - the new identifier, not null

getActiveRightColor

public java.awt.Color getActiveRightColor()
Gets the color that is used on the right side in the gradient of this title. This method does the same as getActiveRightTitleColor().color();.

Returns:
the color

getActiveRightTitleColor

public TitleColor getActiveRightTitleColor()
Gets the handle for the left active color.

Returns:
the handle, can be used to change the color of this title

setActiveRightColor

public void setActiveRightColor(java.awt.Color activeRightColor)
Sets the color which is used on the right side in the gradient of this title. This method does the same as getActiveRightTitleColor().setValue( activeRightColor );.

Parameters:
activeRightColor - the color

setActiveRightColorId

public void setActiveRightColorId(java.lang.String id)
Changes the identifier that is used for the active right color.

Parameters:
id - the new identifier, not null

getActiveTextColor

public java.awt.Color getActiveTextColor()
Gets the color that is used for text if this title is active. This method does the same as getActiveTextTitleColor().color();.

Returns:
the color

getActiveTextTitleColor

public TitleColor getActiveTextTitleColor()
Gets a handle for the foreground color of an active title.

Returns:
the handle, can be used to change the color of this title

setActiveTextColor

public void setActiveTextColor(java.awt.Color activeTextColor)
Sets the color which is used to paint the text if this title is active. This method does the same as getActiveTextTitleColor().setValue( activeTextColor );.

Parameters:
activeTextColor - the color

setActiveTextColorId

public void setActiveTextColorId(java.lang.String id)
Changes the identifier that is used for the active text color.

Parameters:
id - the new identifier, not null

getInactiveLeftColor

public java.awt.Color getInactiveLeftColor()
Gets the color which is used on the left side of the gradient if this title is not active. This method does the same as getInactiveLeftTitleColor().color();.

Returns:
the color

getInactiveLeftTitleColor

public TitleColor getInactiveLeftTitleColor()
Gets a handle for the left inactive color.

Returns:
the handle, can be used to change the color of this title

setInactiveLeftColor

public void setInactiveLeftColor(java.awt.Color inactiveLeftColor)
Sets the color which will be used on the left side of the gradient if this title is not active. This method does the same as getInactiveLeftTitleColor().setValue( inactiveLeftColor );.

Parameters:
inactiveLeftColor - the color

setInactiveLeftColorId

public void setInactiveLeftColorId(java.lang.String id)
Changes the identifier that is used for the inactive left color.

Parameters:
id - the new identifier, not null

getInactiveRightColor

public java.awt.Color getInactiveRightColor()
Gets the color which is used on the right side of the gradient if this title is not active. This method does the same as getInactiveRightTitleColor().color();.

Returns:
the color on the right side

getInactiveRightTitleColor

public TitleColor getInactiveRightTitleColor()
Gets a handle for the inactive right background color.

Returns:
a handle, can be used to change the colors of this title

setInactiveRightColor

public void setInactiveRightColor(java.awt.Color inactiveRightColor)
Sets the color of the right side of the gradient. The color will only be used if this title is not active. This method does the same as getInactiveRightTitleColor().setValue( inactiveRightColor );.

Parameters:
inactiveRightColor - the color

setInactiveRightColorId

public void setInactiveRightColorId(java.lang.String id)
Changes the identifier that is used for the inactive right color.

Parameters:
id - the new identifier, not null

getInactiveTextColor

public java.awt.Color getInactiveTextColor()
Gets the color of the text. This color is used if this title is not active. This method does the same as getInactiveTextTitleColor().color();.

Returns:
the color

getInactiveTextTitleColor

public TitleColor getInactiveTextTitleColor()
Gets a handle for the inactive foreground color.

Returns:
a handle, can be used to change the color of this title.

setInactiveTextColor

public void setInactiveTextColor(java.awt.Color inactiveTextColor)
Sets the color of the text. The color will only be used if this title is not active. This method does the same as getInactiveTextTitleColor().setValue( inactiveTextColor );.

Parameters:
inactiveTextColor - the color

setInactiveTextColorId

public void setInactiveTextColorId(java.lang.String id)
Changes the identifier that is used for the inactive text color.

Parameters:
id - the new identifier, not null

setActive

public void setActive(boolean active)
Description copied from class: AbstractDockTitle
Sets whether this title should be painted as focused or not.

Overrides:
setActive in class AbstractDockTitle
Parameters:
active - true if the Dockable of this title has the focus.

updateColors

protected void updateColors()
Invoked after a color has changed. This method ensures that the gradient is recreated.