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

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

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

A DockTitle used for the buttons on a FlapDockStation.

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 which creates new BubbleButtonDockTitles.
 
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 BubbleButtonDockTitle()
          Constructor that does nothing, subclasses should call init(Dockable, DockTitleVersion, boolean) to initialize the tile.
  BubbleButtonDockTitle(Dockable dockable, DockTitleVersion origin)
          Creates a new title.
 
Method Summary
 void changed(DockTitleEvent event)
          Called if a property changed that might be important for painting this title.
 Point getPopupLocation(Point click, boolean popupTrigger)
          Tells whether a popup menu should be opened when the user clicks at click with the mouse.
protected  void init(Dockable dockable, DockTitleVersion origin, boolean showMiniButtons)
          Initializes this title, this method should be called only once.
 boolean isSelected()
          Tells whether this title is selected, being focused implies being selected.
 void setActive(boolean active)
          Sets whether this title should be painted as focused or not.
 void setOrientation(DockTitle.Orientation orientation)
          Sets the orientation of this title.
protected  void updateAnimation()
          Called when the mouse entered or left this title, or when the active state changed.
protected  void updateIcon()
          Called when the icon of this title should be updated.
protected  void updateText()
          Called when the text of this title should be updated.
 
Methods inherited from class bibliothek.extension.gui.dock.theme.bubble.AbstractBubbleDockTitle
addColor, bind, getInnerInsets, isMouseOver, paint, paintBackground, pulse, updateAnimation
 
Methods inherited from class bibliothek.gui.dock.title.AbstractDockTitle
addColor, addConditionalFont, addFont, addMouseInputListener, createItemFor, doLayout, getActionSourceFor, getComponent, getDockable, getElement, getIcon, getIconBounds, getMinimumSize, getOrientation, getOrigin, getPreferredSize, getText, isActive, isBound, isUsedAsTitle, paintComponent, removeAllConditionalFonts, removeColor, removeFont, removeMouseInputListener, setBackground, setFont, setFontModifier, setForeground, setIcon, setText, setTooltip, unbind, updateFonts, updateTooltip
 
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, 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
 

Field Detail

FACTORY

public static final DockTitleFactory FACTORY
A factory which creates new BubbleButtonDockTitles.

Constructor Detail

BubbleButtonDockTitle

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

Parameters:
dockable - the dockable for which this title will be shown
origin - the DockTitleVersion which was used to create this title

BubbleButtonDockTitle

protected BubbleButtonDockTitle()
Constructor that does nothing, subclasses should call init(Dockable, DockTitleVersion, boolean) to initialize the tile.

Method Detail

init

protected void init(Dockable dockable,
                    DockTitleVersion origin,
                    boolean showMiniButtons)
Description copied from class: AbstractBubbleDockTitle
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

changed

public void changed(DockTitleEvent event)
Description copied from interface: DockTitle
Called if a property changed that might be important for painting this title. The property can be anything, it does not necessarily have to be a property of this title nor of its owner. Modules using this title might send subclasses of DockTitleEvent to transmit more information to this title than DockTitleEvent would allow.

Specified by:
changed in interface DockTitle
Overrides:
changed in class AbstractDockTitle
Parameters:
event - information about the current state

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 AbstractBubbleDockTitle
Parameters:
active - true if the Dockable of this title has the focus.

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

isSelected

public boolean isSelected()
Tells whether this title is selected, being focused implies being selected.

Returns:
true if this button is selected

updateIcon

protected void updateIcon()
Description copied from class: AbstractDockTitle
Called when the icon of this title should be updated. This title never calls AbstractDockTitle.setIcon(Icon) directly, it always calls this method which then calls AbstractDockTitle.setIcon(Icon) (the only exception: on unbinding the icon is set to null)

Overrides:
updateIcon in class AbstractDockTitle

updateText

protected void updateText()
Description copied from class: AbstractDockTitle
Called when the text of this title should be updated. This title never calls AbstractDockTitle.setText(String) directly, it always calls this method which then calls AbstractDockTitle.setText(String) (the only exception: on unbinding the text is set to null)

Overrides:
updateText in class AbstractDockTitle

getPopupLocation

public Point getPopupLocation(Point click,
                              boolean popupTrigger)
Description copied from interface: DockElementRepresentative
Tells whether a popup menu should be opened when the user clicks at click with the mouse. If yes, then the top left edge of the popup should be returned, otherwise null should be returned.

Specified by:
getPopupLocation in interface DockElementRepresentative
Overrides:
getPopupLocation in class AbstractDockTitle
Parameters:
click - the location where the user clicked with the mouse
popupTrigger - whether the invocation is the systems popup trigger or not. Many implementations of this method will return click in case of true, and null in case of false
Returns:
the preferred location of a popup or null if no popup-menu should be opened

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