Package org.jdesktop.swingx.border
Class DropShadowBorder
java.lang.Object
org.jdesktop.swingx.border.DropShadowBorder
- All Implemented Interfaces:
Serializable
,Border
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.
- See Also:
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Map
<Double, Map<DropShadowBorder.Position, BufferedImage>> private int
private static final long
private Color
private float
private int
private boolean
private boolean
private boolean
private boolean
-
Constructor Summary
ConstructorsConstructorDescriptionDropShadowBorder
(boolean showLeftShadow) DropShadowBorder
(Color shadowColor, int shadowSize) DropShadowBorder
(Color shadowColor, int shadowSize, float shadowOpacity, int cornerSize, boolean showTopShadow, boolean showLeftShadow, boolean showBottomShadow, boolean showRightShadow) -
Method Summary
Modifier and TypeMethodDescriptionint
private Map
<DropShadowBorder.Position, BufferedImage> getImages
(Graphics2D g2) float
int
private BufferedImage
getSubImage
(BufferedImage img, int x, int y, int w, int h) Returns a new BufferedImage that represents a subregion of the given BufferedImage.boolean
boolean
boolean
boolean
boolean
void
paintBorder
(Component c, Graphics graphics, int x, int y, int width, int height) void
setCornerSize
(int cornerSize) void
setShadowColor
(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)
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
CACHE
-
shadowColor
-
shadowSize
private int shadowSize -
shadowOpacity
private float shadowOpacity -
cornerSize
private int cornerSize -
showTopShadow
private boolean showTopShadow -
showLeftShadow
private boolean showLeftShadow -
showBottomShadow
private boolean showBottomShadow -
showRightShadow
private boolean showRightShadow
-
-
Constructor Details
-
DropShadowBorder
public DropShadowBorder() -
DropShadowBorder
-
DropShadowBorder
public DropShadowBorder(boolean showLeftShadow) -
DropShadowBorder
public DropShadowBorder(Color shadowColor, int shadowSize, float shadowOpacity, int cornerSize, boolean showTopShadow, boolean showLeftShadow, boolean showBottomShadow, boolean showRightShadow)
-
-
Method Details
-
paintBorder
- Specified by:
paintBorder
in interfaceBorder
-
getImages
-
getSubImage
Returns a new BufferedImage that represents a subregion of the given BufferedImage. (Note that this method does not use BufferedImage.getSubimage(), which will defeat image acceleration strategies on later JDKs.) -
getBorderInsets
- Specified by:
getBorderInsets
in interfaceBorder
-
isBorderOpaque
public boolean isBorderOpaque()- Specified by:
isBorderOpaque
in interfaceBorder
-
isShowTopShadow
public boolean isShowTopShadow() -
isShowLeftShadow
public boolean isShowLeftShadow() -
isShowRightShadow
public boolean isShowRightShadow() -
isShowBottomShadow
public boolean isShowBottomShadow() -
getShadowSize
public int getShadowSize() -
getShadowColor
-
getShadowOpacity
public float getShadowOpacity() -
getCornerSize
public int getCornerSize() -
setShadowColor
-
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)
-