bibliothek.extension.gui.dock.theme.bubble
Class BubbleDockTitle

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.extension.gui.dock.theme.bubble.BubbleDockTitle
All Implemented Interfaces:
DockTitle, ImageObserver, MenuContainer, Serializable, Accessible

public class BubbleDockTitle
extends AbstractDockTitle

A BubbleDockTitle is a title which has two or four round edges. The title can smoothly change its colors when touched by the mouse.

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
 
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
BubbleDockTitle(BubbleTheme theme, Dockable dockable, DockTitleVersion origin)
          Creates a new title.
BubbleDockTitle(BubbleTheme theme, Dockable dockable, DockTitleVersion origin, boolean showMiniButtons)
          Creates a new title.
 
Method Summary
protected  Insets getInnerInsets()
          Gets the insets that have to be applied between the border and the content of this title.
 void paint(Graphics g)
           
protected  void paintBackground(Graphics g, JComponent component)
          Paints the whole background of this title.
protected  void pulse()
          Called every time when the colors of the animation have been changed.
 void setActive(boolean active)
          Sets whether this title should be painted as focused or not.
protected  void updateAnimation(boolean mouse)
          Updates the setting of the animation to reflect new properties of this title.
 
Methods inherited from class bibliothek.gui.dock.title.AbstractDockTitle
addMouseInputListener, bind, changed, createItemFor, doLayout, getActionSourceFor, getComponent, getDockable, getIcon, getIconBounds, getMinimumSize, getOrientation, getOrigin, getPopupLocation, getPreferredSize, getText, isActive, isBound, paintComponent, removeMouseInputListener, setBackground, setForeground, setIcon, setOrientation, setText, unbind
 
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, 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, reshape, 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, 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
 

Constructor Detail

BubbleDockTitle

public BubbleDockTitle(BubbleTheme theme,
                       Dockable dockable,
                       DockTitleVersion origin)
Creates a new title.

Parameters:
theme - the theme from which this title will read some colors
dockable - the Dockable for which this title is shown
origin - the creator of this title

BubbleDockTitle

public BubbleDockTitle(BubbleTheme theme,
                       Dockable dockable,
                       DockTitleVersion origin,
                       boolean showMiniButtons)
Creates a new title.

Parameters:
theme - the theme from which this title will read some colors
dockable - the Dockable for which this title is shown
origin - the creator of this title
showMiniButtons - whether this title should show the actions or not
Method Detail

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.

updateAnimation

protected void updateAnimation(boolean mouse)
Updates the setting of the animation to reflect new properties of this title.

Parameters:
mouse - whether the mouse is pressed or not

pulse

protected void pulse()
Called every time when the colors of the animation have been changed.


getInnerInsets

protected Insets getInnerInsets()
Description copied from class: AbstractDockTitle
Gets the insets that have to be applied between the border and the content of this title.

Overrides:
getInnerInsets in class AbstractDockTitle
Returns:
the insets, not null

paint

public void paint(Graphics g)
Overrides:
paint in class JComponent

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