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

@ColorCodes(value={"title.background.top.active.mouse","title.background.top.active","title.background.top.inactive.mouse","title.background.top.inactive","title.background.top.disabled","title.background.bottom.active.mouse","title.background.bottom.active","title.background.bottom.inactive.mouse","title.background.bottom.inactive","title.background.bottom.disabled","title.foreground.active.mouse","title.foreground.active","title.foreground.inactive.mouse","title.foreground.inactive"})
public class BubbleDockTitle
extends AbstractBubbleDockTitle

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 bibliothek.extension.gui.dock.theme.bubble.AbstractBubbleDockTitle
ANIMATION_KEY_BACKGROUND_BOTTOM, ANIMATION_KEY_BACKGROUND_TOP, ANIMATION_KEY_TEXT
 
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
protected BubbleDockTitle()
          A constructor that does not do anything, subclasses should later call init(Dockable, DockTitleVersion, boolean).
  BubbleDockTitle(Dockable dockable, DockTitleVersion origin)
          Creates a new title.
  BubbleDockTitle(Dockable dockable, DockTitleVersion origin, boolean showMiniButtons)
          Creates a new title.
 
Method Summary
protected  void init(Dockable dockable, DockTitleVersion origin, boolean showMiniButtons)
          Initializes this title, this method should be called only once.
protected  void updateAnimation()
          Called when the mouse entered or left this title, or when the active state changed.
 
Methods inherited from class bibliothek.extension.gui.dock.theme.bubble.AbstractBubbleDockTitle
addColor, bind, doPaintBackground, getColor, getInnerInsets, isMouseOver, paintBackground, paintOverlay, pulse, setActive, setDisabled, updateAnimation
 
Methods inherited from class bibliothek.gui.dock.title.AbstractDockTitle
changed, doTitleLayout, getActionSourceFor, getPopupLocation, getPreferredSize, getSuggestedSource, isShowMiniButtons, setOrientation, setShowMiniButtons, setTooltip, suggestActions, unbind
 
Methods inherited from class bibliothek.gui.dock.title.AbstractMultiDockTitle
addColor, addConditionalFont, addFont, addMouseInputListener, createItemFor, doLayout, getDockable, getElement, getIcon, getIconBounds, getIconTextGap, 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, 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, reshape, 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, 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
 
Methods inherited from interface bibliothek.gui.dock.title.DockTitle
getComponent
 

Constructor Detail

BubbleDockTitle

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

Parameters:
dockable - the Dockable for which this title is shown
origin - the creator of this title

BubbleDockTitle

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

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

BubbleDockTitle

protected BubbleDockTitle()
A constructor that does not do anything, subclasses should later call init(Dockable, DockTitleVersion, boolean).

Method Detail

init

protected void init(Dockable dockable,
                    DockTitleVersion origin,
                    boolean showMiniButtons)
Initializes this title, this method should be called only once.

Overrides:
init in class AbstractBubbleDockTitle
Parameters:
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

updateAnimation

protected void updateAnimation()
Description copied from class: AbstractBubbleDockTitle
Called when the mouse entered or left this title, or when the active state changed. This method has to update the animation, it should call AbstractBubbleDockTitle.updateAnimation(String, String) for all animation-keys using the currently best fitting identifiers. Subclasses might want to call this method when some additional states changed which imply a change of the look of this title.

Specified by:
updateAnimation in class AbstractBubbleDockTitle