Class DropShadowBorder

java.lang.Object
org.jdesktop.swingx.border.DropShadowBorder
All Implemented Interfaces:
Serializable, Border

@JavaBean public class DropShadowBorder extends Object implements Border, 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:
  • Constructor Details

    • DropShadowBorder

      public DropShadowBorder()
      ctor (maven-javadoc-plugin 3.3.2 needs a doc here)
    • DropShadowBorder

      public DropShadowBorder(Color shadowColor, int shadowSize)
      ctor (maven-javadoc-plugin 3.3.2 needs a doc here)
      Parameters:
      shadowColor - Color
      shadowSize - int
    • DropShadowBorder

      public DropShadowBorder(boolean showLeftShadow)
      ctor (maven-javadoc-plugin 3.3.2 needs a doc here)
      Parameters:
      showLeftShadow - boolean
    • DropShadowBorder

      public DropShadowBorder(Color shadowColor, int shadowSize, float shadowOpacity, int cornerSize, boolean showTopShadow, boolean showLeftShadow, boolean showBottomShadow, boolean showRightShadow)
      ctor (maven-javadoc-plugin 3.3.2 needs a doc here)
      Parameters:
      shadowColor - int
      shadowSize - int
      shadowOpacity - float
      cornerSize - int
      showTopShadow - boolean
      showLeftShadow - boolean
      showBottomShadow - boolean
      showRightShadow - boolean
  • Method Details

    • paintBorder

      public void paintBorder(Component c, Graphics graphics, int x, int y, int width, int height)
      Specified by:
      paintBorder in interface Border
    • getBorderInsets

      public Insets getBorderInsets(Component c)

      implements interface javax.swing.border.Border

      Specified by:
      getBorderInsets in interface Border
    • isBorderOpaque

      public boolean isBorderOpaque()
      Specified by:
      isBorderOpaque in interface Border
    • isShowTopShadow

      public boolean isShowTopShadow()
      TODO (maven-javadoc-plugin 3.3.2 needs a doc here)
      Returns:
      showTopShadow
    • isShowLeftShadow

      public boolean isShowLeftShadow()
      TODO (maven-javadoc-plugin 3.3.2 needs a doc here)
      Returns:
      showLeftShadow
    • isShowRightShadow

      public boolean isShowRightShadow()
      TODO (maven-javadoc-plugin 3.3.2 needs a doc here)
      Returns:
      showRightShadow
    • isShowBottomShadow

      public boolean isShowBottomShadow()
      TODO (maven-javadoc-plugin 3.3.2 needs a doc here)
      Returns:
      showBottomShadow
    • getShadowSize

      public int getShadowSize()
      TODO (maven-javadoc-plugin 3.3.2 needs a doc here)
      Returns:
      size
    • getShadowColor

      public Color getShadowColor()
      TODO (maven-javadoc-plugin 3.3.2 needs a doc here)
      Returns:
      Color
    • getShadowOpacity

      public float getShadowOpacity()
      TODO (maven-javadoc-plugin 3.3.2 needs a doc here)
      Returns:
      Opacity
    • getCornerSize

      public int getCornerSize()
      TODO (maven-javadoc-plugin 3.3.2 needs a doc here)
      Returns:
      cornerSize
    • setShadowColor

      public void setShadowColor(Color shadowColor)
      TODO (maven-javadoc-plugin 3.3.2 needs a doc here)
      Parameters:
      shadowColor - Color
    • setShadowSize

      public void setShadowSize(int shadowSize)
      TODO (maven-javadoc-plugin 3.3.2 needs a doc here)
      Parameters:
      shadowSize - int
    • setShadowOpacity

      public void setShadowOpacity(float shadowOpacity)
      TODO (maven-javadoc-plugin 3.3.2 needs a doc here)
      Parameters:
      shadowOpacity - float
    • setCornerSize

      public void setCornerSize(int cornerSize)
      TODO (maven-javadoc-plugin 3.3.2 needs a doc here)
      Parameters:
      cornerSize - int
    • setShowTopShadow

      public void setShowTopShadow(boolean showTopShadow)
      TODO (maven-javadoc-plugin 3.3.2 needs a doc here)
      Parameters:
      showTopShadow - boolean
    • setShowLeftShadow

      public void setShowLeftShadow(boolean showLeftShadow)
      TODO (maven-javadoc-plugin 3.3.2 needs a doc here)
      Parameters:
      showLeftShadow - boolean
    • setShowBottomShadow

      public void setShowBottomShadow(boolean showBottomShadow)
      TODO (maven-javadoc-plugin 3.3.2 needs a doc here)
      Parameters:
      showBottomShadow - boolean
    • setShowRightShadow

      public void setShowRightShadow(boolean showRightShadow)
      TODO (maven-javadoc-plugin 3.3.2 needs a doc here)
      Parameters:
      showRightShadow - boolean