org.tbee.swing.glasspane
Class GlassPane

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 org.tbee.swing.glasspane.GlassPane
All Implemented Interfaces:
java.awt.event.AWTEventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public class GlassPane
extends javax.swing.JPanel
implements java.awt.event.AWTEventListener, java.beans.PropertyChangeListener

This class can be added as glasspane (setGlassPane) or using the JLayeredPane. Use to visually overlay a frame's contents and optionally (default true) blocks all interaction. Inspired by "A well-behaved GlassPane" http://weblogs.java.net/blog/alexfromsun/

Version:
$Revision: 1.18 $
Author:
Alexander Potochkin
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  java.awt.TexturePaint iTexturePaint
           
static java.lang.String SOURCECODE_VERSION
          Standard variable for determining version of a class file.
 
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
GlassPane(javax.swing.JApplet applet)
           
GlassPane(javax.swing.JApplet applet, boolean block)
           
GlassPane(javax.swing.JApplet applet, boolean block, boolean draw)
           
GlassPane(javax.swing.JFrame frame)
           
GlassPane(javax.swing.JFrame frame, boolean block)
           
GlassPane(javax.swing.JFrame frame, boolean block, boolean draw)
           
 
Method Summary
static GlassPane addAsGlassPane(javax.swing.JFrame frame, boolean block)
          Add as glasspane
static GlassPane addToLayer(javax.swing.JApplet frame, boolean block)
          Add as layer
static GlassPane addToLayer(javax.swing.JApplet applet, boolean block, int layer)
          Add as layer
static GlassPane addToLayer(javax.swing.JFrame frame, boolean block)
          Add as layer
static GlassPane addToLayer(javax.swing.JFrame frame, boolean block, int layer)
          Add as layer
 void attachAsGlassPane()
          Add as glasspane
 void attachToLayer()
          Add as layer
 void attachToLayer(int layer)
          Add as layer
 boolean contains(int x, int y)
          If someone adds a mouseListener to the GlassPane or set a new cursor we expect that he knows what he is doing and return the super.contains(x, y) otherwise we return false to respect the cursors for the underneath components
 void detach()
          Remove from glasspane and layered pane
 void eventDispatched(java.awt.AWTEvent event)
          for determining when the mous is over the titlebar icons
 java.awt.Container getAssociatedContainer()
           
 boolean getDraw()
           
protected  void paintComponent(java.awt.Graphics g)
           
 void propertyChange(java.beans.PropertyChangeEvent evt)
           
 void setAssociatedContainer(java.awt.Container value)
           
 void setDraw(boolean value)
           
 void setPoint(java.awt.Point point)
          Point
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, 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, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, 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, 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
 

Field Detail

SOURCECODE_VERSION

public static final java.lang.String SOURCECODE_VERSION
Standard variable for determining version of a class file.

See Also:
Constant Field Values

iTexturePaint

protected java.awt.TexturePaint iTexturePaint
Constructor Detail

GlassPane

public GlassPane(javax.swing.JFrame frame)
Parameters:
frame -

GlassPane

public GlassPane(javax.swing.JFrame frame,
                 boolean block)
Parameters:
frame -
block -

GlassPane

public GlassPane(javax.swing.JFrame frame,
                 boolean block,
                 boolean draw)
Parameters:
frame -
block -

GlassPane

public GlassPane(javax.swing.JApplet applet)
Parameters:
applet -

GlassPane

public GlassPane(javax.swing.JApplet applet,
                 boolean block)
Parameters:
applet -
block -

GlassPane

public GlassPane(javax.swing.JApplet applet,
                 boolean block,
                 boolean draw)
Parameters:
applet -
block -
Method Detail

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent evt)
Specified by:
propertyChange in interface java.beans.PropertyChangeListener

getDraw

public boolean getDraw()
Returns:
returns Draw.

setDraw

public void setDraw(boolean value)

getAssociatedContainer

public java.awt.Container getAssociatedContainer()
Returns:
returns AssociatedContainer.

setAssociatedContainer

public void setAssociatedContainer(java.awt.Container value)

attachAsGlassPane

public void attachAsGlassPane()
Add as glasspane


attachToLayer

public void attachToLayer(int layer)
Add as layer

Parameters:
layer -

attachToLayer

public void attachToLayer()
Add as layer


detach

public void detach()
Remove from glasspane and layered pane


setPoint

public void setPoint(java.awt.Point point)
Point


paintComponent

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

eventDispatched

public void eventDispatched(java.awt.AWTEvent event)
for determining when the mous is over the titlebar icons

Specified by:
eventDispatched in interface java.awt.event.AWTEventListener

contains

public boolean contains(int x,
                        int y)
If someone adds a mouseListener to the GlassPane or set a new cursor we expect that he knows what he is doing and return the super.contains(x, y) otherwise we return false to respect the cursors for the underneath components

Overrides:
contains in class javax.swing.JComponent

addAsGlassPane

public static GlassPane addAsGlassPane(javax.swing.JFrame frame,
                                       boolean block)
Add as glasspane

Parameters:
frame -
block -

addToLayer

public static GlassPane addToLayer(javax.swing.JFrame frame,
                                   boolean block,
                                   int layer)
Add as layer

Parameters:
frame -
block -
layer -

addToLayer

public static GlassPane addToLayer(javax.swing.JApplet applet,
                                   boolean block,
                                   int layer)
Add as layer

Parameters:
applet -
block -
layer -

addToLayer

public static GlassPane addToLayer(javax.swing.JFrame frame,
                                   boolean block)
Add as layer

Parameters:
frame -
block -

addToLayer

public static GlassPane addToLayer(javax.swing.JApplet frame,
                                   boolean block)
Add as layer

Parameters:
frame -
block -


Copyright © 2010 KnowledgePlaza. All Rights Reserved.