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

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.DockableDisplayer
                      extended by bibliothek.extension.gui.dock.theme.bubble.BubbleDisplayer
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class BubbleDisplayer
extends DockableDisplayer

A DockableDisplayer drawing a border around its content, but leaves the side at which the title lies open.

Author:
Benjamin Sigg
See Also:
Serialized Form

Nested Class Summary
private  class BubbleDisplayer.Listener
          A listener to the controller, reacting when the focused Dockable has changed.
private  class BubbleDisplayer.OpenBorder
          The border which will be painted around the dockable.
 
Nested classes/interfaces inherited from class bibliothek.gui.dock.DockableDisplayer
DockableDisplayer.Location
 
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
 
Field Summary
private  BubbleColorAnimation animation
          the animation changing the colors of this displayer
private  int borderSize
          the size of the border in pixel
private  javax.swing.JPanel dockable
          the panel on which the Dockable of this displayer is shown
private  BubbleDisplayer.Listener listener
          a listener to the controller informing this displayer when the focused Dockable has changed.
 
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
BubbleDisplayer(BubbleTheme theme, Dockable dockable, DockTitle title)
          Creates a new displayer
 
Method Summary
protected  void addDockable(java.awt.Component component)
          Inserts a component representing the current dockable into the layout.
private  void ensureDockable()
          Ensures that there is a panel for the Dockable
protected  java.awt.Component getComponent(Dockable dockable)
          Gets the Component which should be used to layout the current Dockable.
protected  void pulse()
          Called by the animation when the colors changed and the displayer should be repainted.
protected  void removeDockable(java.awt.Component component)
          Removes the Component which represents the current dockable.
 void setController(DockController controller)
          Sets the controller for which this displayer is used.
protected  void updateAnimation()
          Sets the colors to which the animation should run.
 
Methods inherited from class bibliothek.gui.dock.DockableDisplayer
addTitle, doLayout, getComponent, getController, getDockable, getMinimumSize, getStation, getTitle, getTitleLocation, orientation, removeTitle, setDockable, setStation, setTitle, setTitleLocation
 
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, getPreferredSize, 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, paintComponent, 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, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, 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

borderSize

private int borderSize
the size of the border in pixel


dockable

private javax.swing.JPanel dockable
the panel on which the Dockable of this displayer is shown


animation

private BubbleColorAnimation animation
the animation changing the colors of this displayer


listener

private BubbleDisplayer.Listener listener
a listener to the controller informing this displayer when the focused Dockable has changed.

Constructor Detail

BubbleDisplayer

public BubbleDisplayer(BubbleTheme theme,
                       Dockable dockable,
                       DockTitle title)
Creates a new displayer

Parameters:
theme - the theme to read colors from
dockable - the Dockable which will be shown on this displayer, might be null
title - the title to show on this displayer, might be null
Method Detail

updateAnimation

protected void updateAnimation()
Sets the colors to which the animation should run.


pulse

protected void pulse()
Called by the animation when the colors changed and the displayer should be repainted.


setController

public void setController(DockController controller)
Description copied from class: DockableDisplayer
Sets the controller for which this displayer is used. That property must be set by the client. Note that there is no guarantee, that a client sets this property.

Overrides:
setController in class DockableDisplayer
Parameters:
controller - the controller, can be null

addDockable

protected void addDockable(java.awt.Component component)
Description copied from class: DockableDisplayer
Inserts a component representing the current dockable into the layout. This method is never called twice unless DockableDisplayer.removeDockable(Component) is called before. Note that the name "add" is inspired by the method add of Container.

Overrides:
addDockable in class DockableDisplayer
Parameters:
component - the new Component

removeDockable

protected void removeDockable(java.awt.Component component)
Description copied from class: DockableDisplayer
Removes the Component which represents the current dockable.

Overrides:
removeDockable in class DockableDisplayer
Parameters:
component - the component

getComponent

protected java.awt.Component getComponent(Dockable dockable)
Description copied from class: DockableDisplayer
Gets the Component which should be used to layout the current Dockable.

Overrides:
getComponent in class DockableDisplayer
Parameters:
dockable - the current Dockable, never null
Returns:
the component representing dockable

ensureDockable

private void ensureDockable()
Ensures that there is a panel for the Dockable