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.title.AbstractDockTitle
                      extended by bibliothek.gui.dock.themes.basic.BasicDockTitle
All Implemented Interfaces:
DockTitle, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Direct Known Subclasses:
SmoothDefaultTitle

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
private  java.awt.Color activeLeftColor
          The left color of the gradient if the title is active
private  java.awt.Color activeRightColor
          The right color of the gradient if the title is active
private  java.awt.Color activeTextColor
          The color of the text if the title is active
static DockTitleFactory FACTORY
          A factory for the BasicDockTitle.
private  java.awt.GradientPaint gradient
          The gradient used to paint this title
private  java.awt.Color inactiveLeftColor
          The left color of the gradient if the title is not active
private  java.awt.Color inactiveRightColor
          The right color of the gradient if the title is not active
private  java.awt.Color inactiveTextColor
          The color of the text if the title is not active
 
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
BasicDockTitle(Dockable dockable, DockTitleVersion origin)
          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.
 java.awt.Color getActiveRightColor()
          Gets the color that is used on the right side in the gradient of this title.
 java.awt.Color getActiveTextColor()
          Gets the color that is used for text if this title is active.
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.
 java.awt.Color getInactiveRightColor()
          Gets the color which is used on the right side of the gradient if this title is not active.
 java.awt.Color getInactiveTextColor()
          Gets the color of the text.
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 setActiveRightColor(java.awt.Color activeRightColor)
          Sets the color which is used on the right side in the gradient of this title.
 void setActiveTextColor(java.awt.Color activeTextColor)
          Sets the color which is used to paint the text if this title is active.
 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 setInactiveRightColor(java.awt.Color inactiveRightColor)
          Sets the color of the right side of the gradient.
 void setInactiveTextColor(java.awt.Color inactiveTextColor)
          Sets the color of the text.
 void setOrientation(DockTitle.Orientation orientation)
          Sets the orientation of this title.
protected  void updateColors()
          Invoked after a color has changed.
 void updateUI()
           
 void validate()
           
 
Methods inherited from class bibliothek.gui.dock.title.AbstractDockTitle
addMouseInputListener, bind, changed, createItemFor, doLayout, getComponent, getDockable, getIcon, getIconBounds, getInnerInsets, getMinimumSize, getOrientation, getOrigin, getPopupLocation, getPreferredSize, getText, isActive, isBinded, paintComponent, removeMouseInputListener, setBackground, setForeground, setIcon, setText, unbind
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI
 
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, paint, paintBorder, paintChildren, 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, setFont, 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.


activeLeftColor

private java.awt.Color activeLeftColor
The left color of the gradient if the title is active


inactiveLeftColor

private java.awt.Color inactiveLeftColor
The left color of the gradient if the title is not active


activeRightColor

private java.awt.Color activeRightColor
The right color of the gradient if the title is active


inactiveRightColor

private java.awt.Color inactiveRightColor
The right color of the gradient if the title is not active


activeTextColor

private java.awt.Color activeTextColor
The color of the text if the title is active


inactiveTextColor

private java.awt.Color inactiveTextColor
The color of the text if the title is not active


gradient

private java.awt.GradientPaint gradient
The gradient used to paint this title

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
Method Detail

updateUI

public void updateUI()
Overrides:
updateUI in class javax.swing.JPanel

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.

Returns:
the color
See Also:
setActiveLeftColor(Color)

setActiveLeftColor

public void setActiveLeftColor(java.awt.Color activeLeftColor)
Sets the color that is used on the left side if this title is active.

Parameters:
activeLeftColor - the color

getActiveRightColor

public java.awt.Color getActiveRightColor()
Gets the color that is used on the right side in the gradient of this title.

Returns:
the color

setActiveRightColor

public void setActiveRightColor(java.awt.Color activeRightColor)
Sets the color which is used on the right side in the gradient of this title.

Parameters:
activeRightColor - the color

getActiveTextColor

public java.awt.Color getActiveTextColor()
Gets the color that is used for text if this title is active.

Returns:
the color

setActiveTextColor

public void setActiveTextColor(java.awt.Color activeTextColor)
Sets the color which is used to paint the text if this title is active.

Parameters:
activeTextColor - the color

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.

Returns:
the color

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.

Parameters:
inactiveLeftColor - the color

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.

Returns:
the color on the right side

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.

Parameters:
inactiveRightColor - the color

getInactiveTextColor

public java.awt.Color getInactiveTextColor()
Gets the color of the text. This color is used if this title is not active.

Returns:
the color

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.

Parameters:
inactiveTextColor - the color

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.