bibliothek.gui.dock.util
Class BackgroundPanel

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
All Implemented Interfaces:
PaintableComponent, ImageObserver, MenuContainer, Serializable, Accessible
Direct Known Subclasses:
ConfiguredBackgroundPanel

public abstract class BackgroundPanel
extends JPanel
implements PaintableComponent

This JPanel implements PaintableComponent and can use a BackgroundAlgorithm to paint its 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
 
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
BackgroundPanel(LayoutManager layout, Transparency transparency)
          Creates a new panel setting a default LayoutManager.
BackgroundPanel(Transparency transparency)
          Creates a new panel.
 
Method Summary
protected abstract  void configure(Transparency transparency)
          Called if the Transparency of the BackgroundAlgorithm changed, this panel should configure itself to met the requested transparency settings.
 BackgroundAlgorithm getBackgroundAlgorithm()
          Gets the algorithm that paints the background of this panel.
 Component getComponent()
          Gets the Component which is to be painted.
 Transparency getTransparency()
          Tells how much of this component is actually painted.
 void paint(Graphics g)
           
 void paintBackground(Graphics g)
          Invokes the standard algorithm that paints the background of the component.
 void paintBorder(Graphics g)
          Invokes the standard algorithm that paints the border of the component.
 void paintChildren(Graphics g)
          Invokes the standard algorithm that paints the children of the component.
protected  void paintComponent(Graphics g)
           
 void paintForeground(Graphics g)
          Invokes the standard algorithm that paints the foreground of the component.
 void paintOverlay(Graphics g)
          Invokes the standard algorithm that paints an overlay over the children of the component.
 void setBackground(BackgroundAlgorithm background)
          Sets the background algorithm that should be used by this panel.
 void setTransparency(Transparency transparency)
           
 
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, getMinimumSize, 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, 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, doLayout, 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

BackgroundPanel

public BackgroundPanel(Transparency transparency)
Creates a new panel.

Parameters:
transparency - how many pixels are painted

BackgroundPanel

public BackgroundPanel(LayoutManager layout,
                       Transparency transparency)
Creates a new panel setting a default LayoutManager.

Parameters:
layout - the layout manager, can be null
transparency - how many pixels are painted
Method Detail

setBackground

public void setBackground(BackgroundAlgorithm background)
Sets the background algorithm that should be used by this panel.

Parameters:
background - the background algorithm

configure

protected abstract void configure(Transparency transparency)
Called if the Transparency of the BackgroundAlgorithm changed, this panel should configure itself to met the requested transparency settings.

Parameters:
transparency - the setting to use

getBackgroundAlgorithm

public BackgroundAlgorithm getBackgroundAlgorithm()
Gets the algorithm that paints the background of this panel.

Returns:
the algorithm, can be null

paint

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

paintComponent

protected void paintComponent(Graphics g)
Overrides:
paintComponent in class JComponent

setTransparency

public void setTransparency(Transparency transparency)

getTransparency

public Transparency getTransparency()
Description copied from interface: PaintableComponent
Tells how much of this component is actually painted.

Specified by:
getTransparency in interface PaintableComponent
Returns:
the transparency effects of this component, not null

getComponent

public Component getComponent()
Description copied from interface: PaintableComponent
Gets the Component which is to be painted.

Specified by:
getComponent in interface PaintableComponent
Returns:
the item to paint

paintBackground

public void paintBackground(Graphics g)
Description copied from interface: PaintableComponent
Invokes the standard algorithm that paints the background of the component. This method should be called at most once.

Specified by:
paintBackground in interface PaintableComponent
Parameters:
g - the graphics context to use, null to just inform this component that the background should not be painted automatically

paintForeground

public void paintForeground(Graphics g)
Description copied from interface: PaintableComponent
Invokes the standard algorithm that paints the foreground of the component. This method should be called at most once.

Specified by:
paintForeground in interface PaintableComponent
Parameters:
g - the graphics context to use, null to just inform this component that the foreground should not be painted automatically

paintBorder

public void paintBorder(Graphics g)
Description copied from interface: PaintableComponent
Invokes the standard algorithm that paints the border of the component. This method should be called at most once.

Specified by:
paintBorder in interface PaintableComponent
Overrides:
paintBorder in class JComponent
Parameters:
g - the graphics context to use, null to just inform this component that the background should not be painted automatically

paintChildren

public void paintChildren(Graphics g)
Description copied from interface: PaintableComponent
Invokes the standard algorithm that paints the children of the component. This method should be called at most once.

Specified by:
paintChildren in interface PaintableComponent
Overrides:
paintChildren in class JComponent
Parameters:
g - the graphics context to use, null to just inform this component that the background should not be painted automatically

paintOverlay

public void paintOverlay(Graphics g)
Description copied from interface: PaintableComponent
Invokes the standard algorithm that paints an overlay over the children of the component. This method should be called at most once.

Specified by:
paintOverlay in interface PaintableComponent
Parameters:
g - the graphics context to use, null to just inform this component that the background should not be painted automatically