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.util.ConfiguredBackgroundPanel
                          extended by bibliothek.gui.dock.title.AbstractMultiDockTitle
                              extended by bibliothek.gui.dock.title.AbstractDockTitle
                                  extended by bibliothek.gui.dock.themes.basic.BasicDockTitle
All Implemented Interfaces:
DockElementRepresentative, DockTitle, PaintableComponent, ImageObserver, MenuContainer, Serializable, Accessible
Direct Known Subclasses:
BasicTabDockTitle, SmoothDefaultTitle

@ColorCodes(value={"title.active.left","title.inactive.left","title.disabled.left","title.active.right","title.inactive.right","title.disabled.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
JPanel.AccessibleJPanel
 
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.BltBufferStrategy, 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
 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.
 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.
 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.
 Color getDisabledLeftColor()
          Gets the color that is used on the left side if this title is disabled.
 TitleColor getDisabledLeftTitleColor()
          Gets the handle for the left disabled color.
 Color getDisabledRightColor()
          Gets the color that is used on the right side if this title is disabled.
 TitleColor getDisabledRightTitleColor()
          Gets the handle for the right disabled color.
protected  GradientPaint getGradient(Color left, Color right, Component component)
          Gets the gradient which is used to fill the background of component.
 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.
 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.
 Color getInactiveTextColor()
          Gets the color of the text.
 TitleColor getInactiveTextTitleColor()
          Gets a handle for the inactive foreground color.
protected  void paintBackground(Graphics g, 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(Color activeLeftColor)
          Sets the color that is used on the left side if this title is active.
 void setActiveLeftColorId(String id)
          Changes the identifier that is used for the active left color.
 void setActiveRightColor(Color activeRightColor)
          Sets the color which is used on the right side in the gradient of this title.
 void setActiveRightColorId(String id)
          Changes the identifier that is used for the active right color.
 void setActiveTextColor(Color activeTextColor)
          Sets the color which is used to paint the text if this title is active.
 void setActiveTextColorId(String id)
          Changes the identifier that is used for the active text color.
protected  void setDisabled(boolean disabled)
          Tells this title whether it should be disabled or not.
 void setDisabledLeftColor(Color disabledLeftColor)
          Sets the color that is used on the left side if this title is disabled.
 void setDisabledLeftColorId(String id)
          Changes the identifier that is used for the disabled left color.
 void setDisabledRightColor(Color disabledRightColor)
          Sets the color that is used on the right side if this title is disabled.
 void setDisabledRightColorId(String id)
          Changes the identifier that is used for the disabled right color.
 void setInactiveLeftColor(Color inactiveLeftColor)
          Sets the color which will be used on the left side of the gradient if this title is not active.
 void setInactiveLeftColorId(String id)
          Changes the identifier that is used for the inactive left color.
 void setInactiveRightColor(Color inactiveRightColor)
          Sets the color of the right side of the gradient.
 void setInactiveRightColorId(String id)
          Changes the identifier that is used for the inactive right color.
 void setInactiveTextColor(Color inactiveTextColor)
          Sets the color of the text.
 void setInactiveTextColorId(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
bind, changed, doTitleLayout, getActionSourceFor, getPopupLocation, getPreferredSize, getSuggestedSource, init, isShowMiniButtons, setShowMiniButtons, setTooltip, suggestActions, unbind
 
Methods inherited from class bibliothek.gui.dock.title.AbstractMultiDockTitle
addColor, addConditionalFont, addFont, addMouseInputListener, createItemFor, doLayout, getDockable, getElement, getIcon, getIconBounds, getIconTextGap, getInnerInsets, getLabel, getMinimumSize, getOrientation, getOrigin, getText, init, isActive, isBound, isDisabled, isUsedAsTitle, paintBackground, paintForeground, paintForeground, paintIcon, removeAllConditionalFonts, removeColor, removeFont, removeMouseInputListener, setBackground, setBorder, setFont, setFontModifier, setForeground, setIcon, setIconTextGap, setText, shouldFocus, shouldTransfersFocus, titleInsets, updateFonts, updateIcon, updateText, updateTooltip
 
Methods inherited from class bibliothek.gui.dock.util.ConfiguredBackgroundPanel
configure
 
Methods inherited from class bibliothek.gui.dock.util.BackgroundPanel
getBackgroundAlgorithm, getComponent, getTransparency, paint, paintBorder, paintChildren, paintComponent, paintOverlay, setBackground, setTransparency
 
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
 
Methods inherited from interface bibliothek.gui.dock.title.DockTitle
getComponent
 

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 JComponent

validate

public void validate()
Overrides:
validate in class 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(Graphics g,
                               JComponent component)
Description copied from class: AbstractMultiDockTitle
Paints the whole background of this title. The default implementation just fills the background with the background color of component.

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

getGradient

protected GradientPaint getGradient(Color left,
                                    Color right,
                                    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 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(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(String id)
Changes the identifier that is used for the active left color.

Parameters:
id - the new identifier, not null

getActiveRightColor

public 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(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(String id)
Changes the identifier that is used for the active right color.

Parameters:
id - the new identifier, not null

getActiveTextColor

public 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(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(String id)
Changes the identifier that is used for the active text color.

Parameters:
id - the new identifier, not null

getDisabledLeftColor

public Color getDisabledLeftColor()
Gets the color that is used on the left side if this title is disabled. This method does the same as getDisabledLeftTitleColor().color();.

Returns:
the color
See Also:
setDisabledLeftColor(Color), getDisabledLeftTitleColor()

getDisabledLeftTitleColor

public TitleColor getDisabledLeftTitleColor()
Gets the handle for the left disabled color.

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

setDisabledLeftColor

public void setDisabledLeftColor(Color disabledLeftColor)
Sets the color that is used on the left side if this title is disabled. This method does the same as getDisabledLeftTitleColor().setValue( activeLeftColor );.

Parameters:
disabledLeftColor - the color
See Also:
getDisabledLeftTitleColor()

setDisabledLeftColorId

public void setDisabledLeftColorId(String id)
Changes the identifier that is used for the disabled left color.

Parameters:
id - the new identifier, not null

getDisabledRightColor

public Color getDisabledRightColor()
Gets the color that is used on the right side if this title is disabled. This method does the same as getDisabledRightTitleColor().color();.

Returns:
the color
See Also:
setDisabledRightColor(Color), getDisabledRightTitleColor()

getDisabledRightTitleColor

public TitleColor getDisabledRightTitleColor()
Gets the handle for the right disabled color.

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

setDisabledRightColor

public void setDisabledRightColor(Color disabledRightColor)
Sets the color that is used on the right side if this title is disabled. This method does the same as getDisabledRightTitleColor().setValue( activeLeftColor );.

Parameters:
disabledRightColor - the color
See Also:
getDisabledRightTitleColor()

setDisabledRightColorId

public void setDisabledRightColorId(String id)
Changes the identifier that is used for the disabled right color.

Parameters:
id - the new identifier, not null

getInactiveLeftColor

public 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(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(String id)
Changes the identifier that is used for the inactive left color.

Parameters:
id - the new identifier, not null

getInactiveRightColor

public 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(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(String id)
Changes the identifier that is used for the inactive right color.

Parameters:
id - the new identifier, not null

getInactiveTextColor

public 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(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(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: AbstractMultiDockTitle
Sets whether this title should be painted as focused or not.

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

setDisabled

protected void setDisabled(boolean disabled)
Description copied from class: AbstractMultiDockTitle
Tells this title whether it should be disabled or not. This method is called when the DisablingStrategy changes. A disabled title should react to any InputEvent, and should be painted differently than an enabled title.

Overrides:
setDisabled in class AbstractMultiDockTitle
Parameters:
disabled - whether this title is disabled
See Also:
AbstractMultiDockTitle.isDisabled()

updateColors

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