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, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Direct Known Subclasses:
AbstractDockTitle, BaseTabComponent, BasicDockableDisplayer, BubbleTab, CombinedStackDockContentPane, FlatTab, NoTitleDisplayer, OrientedLabel

public class BackgroundPanel
extends javax.swing.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
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
 
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(boolean solid, boolean transparent)
          Creates a new panel.
BackgroundPanel(java.awt.LayoutManager layout, boolean solid, boolean transparent)
          Creates a new panel setting a default LayoutManager.
 
Method Summary
 BackgroundAlgorithm getBackgroundAlgorithm()
          Gets the algorithm that paints the background of this panel.
 java.awt.Component getComponent()
          Gets the Component which is to be painted.
 boolean isSolid()
          If a component is solid, then it paints every pixel with a non-transparent color.
 boolean isTransparent()
          If a component is transparent, then it does not paint anything (except the border).
 void paint(java.awt.Graphics g)
           
 void paintBackground(java.awt.Graphics g)
          Invokes the standard algorithm that paints the background of the component.
 void paintBorder(java.awt.Graphics g)
          Invokes the standard algorithm that paints the border of the component.
 void paintChildren(java.awt.Graphics g)
          Invokes the standard algorithm that paints the children of the component.
protected  void paintComponent(java.awt.Graphics g)
           
 void paintForeground(java.awt.Graphics g)
          Invokes the standard algorithm that paints the foreground of the component.
 void paintOverlay(java.awt.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 setSolid(boolean solid)
          Sets whether this panel paints every pixel or not.
 void setTransparent(boolean transparent)
          Sets whether this panel is completely transparent or not.
 
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(boolean solid,
                       boolean transparent)
Creates a new panel.

Parameters:
solid - whether all pixels of this panel are painted
transparent - whether no pixels of this panel are painted

BackgroundPanel

public BackgroundPanel(java.awt.LayoutManager layout,
                       boolean solid,
                       boolean transparent)
Creates a new panel setting a default LayoutManager.

Parameters:
layout - the layout manager, can be null
solid - whether all pixels of this panel are painted
transparent - whether no pixels of this panel 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

getBackgroundAlgorithm

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

Returns:
the algorithm, can be null

paint

public void paint(java.awt.Graphics g)
Overrides:
paint in class javax.swing.JComponent

paintComponent

protected void paintComponent(java.awt.Graphics g)
Overrides:
paintComponent in class javax.swing.JComponent

setSolid

public void setSolid(boolean solid)
Sets whether this panel paints every pixel or not.

Parameters:
solid - true if every pixel is painted

isSolid

public boolean isSolid()
Description copied from interface: PaintableComponent
If a component is solid, then it paints every pixel with a non-transparent color.

Specified by:
isSolid in interface PaintableComponent
Returns:
whether every pixel is painted

setTransparent

public void setTransparent(boolean transparent)
Sets whether this panel is completely transparent or not.

Parameters:
transparent - true if this panel does not paint any pixel

isTransparent

public boolean isTransparent()
Description copied from interface: PaintableComponent
If a component is transparent, then it does not paint anything (except the border).

Specified by:
isTransparent in interface PaintableComponent
Returns:
whether the component paints at least one pixel

getComponent

public java.awt.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(java.awt.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(java.awt.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(java.awt.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 javax.swing.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(java.awt.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 javax.swing.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(java.awt.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