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, ImageObserver, MenuContainer, Serializable, Accessible
Direct Known Subclasses:
BasicTabDockTitle, 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
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 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
 Color getActiveLeftColor()
          Gets the color that is used on the left side if this title is active.
 Color getActiveRightColor()
          Gets the color that is used on the right side in the gradient of this title.
 Color getActiveTextColor()
          Gets the color that is used for text if this title is active.
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.
 Color getInactiveRightColor()
          Gets the color which is used on the right side of the gradient if this title is not active.
 Color getInactiveTextColor()
          Gets the color of the text.
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 setActiveRightColor(Color activeRightColor)
          Sets the color which is used on the right side in the gradient of this title.
 void setActiveTextColor(Color activeTextColor)
          Sets the color which is used to paint the text if this title is active.
 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 setInactiveRightColor(Color inactiveRightColor)
          Sets the color of the right side of the gradient.
 void setInactiveTextColor(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, getActionSourceFor, getComponent, getDockable, getIcon, getIconBounds, getInnerInsets, getMinimumSize, getOrientation, getOrigin, getPopupLocation, getPreferredSize, getText, isActive, isBound, 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.

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 JPanel

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: 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 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.

Returns:
the color
See Also:
setActiveLeftColor(Color)

setActiveLeftColor

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

Parameters:
activeLeftColor - the color

getActiveRightColor

public 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(Color activeRightColor)
Sets the color which is used on the right side in the gradient of this title.

Parameters:
activeRightColor - the color

getActiveTextColor

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

Returns:
the color

setActiveTextColor

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

Parameters:
activeTextColor - the color

getInactiveLeftColor

public 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(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 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(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 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(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.