org.jdesktop.swingx.border
Class DropShadowBorder

java.lang.Object
  extended by org.jdesktop.swingx.border.DropShadowBorder
All Implemented Interfaces:
java.io.Serializable, javax.swing.border.Border

public class DropShadowBorder
extends java.lang.Object
implements javax.swing.border.Border, java.io.Serializable

Implements a DropShadow for components. In general, the DropShadowBorder will work with any rectangular components that do not have a default border installed as part of the look and feel, or otherwise. For example, DropShadowBorder works wonderfully with JPanel, but horribly with JComboBox.

Note: DropShadowBorder should usually be added to non-opaque components, otherwise the background is likely to bleed through.

Note: Since generating drop shadows is relatively expensive operation, DropShadowBorder keeps internal static cache that allows sharing same border for multiple re-rendering and between different instances of the class. Since this cache is shared at class level and never reset, it might bleed your app memory in case you tend to create many different borders rapidly.

Author:
rbair
See Also:
Serialized Form

Constructor Summary
DropShadowBorder()
           
DropShadowBorder(boolean showLeftShadow)
           
DropShadowBorder(java.awt.Color shadowColor, int shadowSize)
           
DropShadowBorder(java.awt.Color shadowColor, int shadowSize, float shadowOpacity, int cornerSize, boolean showTopShadow, boolean showLeftShadow, boolean showBottomShadow, boolean showRightShadow)
           
 
Method Summary
 java.awt.Insets getBorderInsets(java.awt.Component c)
           
 int getCornerSize()
           
 java.awt.Color getShadowColor()
           
 float getShadowOpacity()
           
 int getShadowSize()
           
 boolean isBorderOpaque()
          
 boolean isShowBottomShadow()
           
 boolean isShowLeftShadow()
           
 boolean isShowRightShadow()
           
 boolean isShowTopShadow()
           
 void paintBorder(java.awt.Component c, java.awt.Graphics graphics, int x, int y, int width, int height)
          
 void setCornerSize(int cornerSize)
           
 void setShadowColor(java.awt.Color shadowColor)
           
 void setShadowOpacity(float shadowOpacity)
           
 void setShadowSize(int shadowSize)
           
 void setShowBottomShadow(boolean showBottomShadow)
           
 void setShowLeftShadow(boolean showLeftShadow)
           
 void setShowRightShadow(boolean showRightShadow)
           
 void setShowTopShadow(boolean showTopShadow)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DropShadowBorder

public DropShadowBorder()

DropShadowBorder

public DropShadowBorder(java.awt.Color shadowColor,
                        int shadowSize)

DropShadowBorder

public DropShadowBorder(boolean showLeftShadow)

DropShadowBorder

public DropShadowBorder(java.awt.Color shadowColor,
                        int shadowSize,
                        float shadowOpacity,
                        int cornerSize,
                        boolean showTopShadow,
                        boolean showLeftShadow,
                        boolean showBottomShadow,
                        boolean showRightShadow)
Method Detail

setShadowColor

public void setShadowColor(java.awt.Color shadowColor)

setShadowSize

public void setShadowSize(int shadowSize)

setShadowOpacity

public void setShadowOpacity(float shadowOpacity)

setCornerSize

public void setCornerSize(int cornerSize)

setShowTopShadow

public void setShowTopShadow(boolean showTopShadow)

setShowLeftShadow

public void setShowLeftShadow(boolean showLeftShadow)

setShowBottomShadow

public void setShowBottomShadow(boolean showBottomShadow)

setShowRightShadow

public void setShowRightShadow(boolean showRightShadow)

paintBorder

public void paintBorder(java.awt.Component c,
                        java.awt.Graphics graphics,
                        int x,
                        int y,
                        int width,
                        int height)

Specified by:
paintBorder in interface javax.swing.border.Border

getBorderInsets

public java.awt.Insets getBorderInsets(java.awt.Component c)
Specified by:
getBorderInsets in interface javax.swing.border.Border

isBorderOpaque

public boolean isBorderOpaque()

Specified by:
isBorderOpaque in interface javax.swing.border.Border

isShowTopShadow

public boolean isShowTopShadow()

isShowLeftShadow

public boolean isShowLeftShadow()

isShowRightShadow

public boolean isShowRightShadow()

isShowBottomShadow

public boolean isShowBottomShadow()

getShadowSize

public int getShadowSize()

getShadowColor

public java.awt.Color getShadowColor()

getShadowOpacity

public float getShadowOpacity()

getCornerSize

public int getCornerSize()