Package com.formdev.flatlaf.ui
Class FlatDropShadowBorder
- java.lang.Object
-
- javax.swing.border.AbstractBorder
-
- javax.swing.border.EmptyBorder
-
- javax.swing.plaf.BorderUIResource.EmptyBorderUIResource
-
- com.formdev.flatlaf.ui.FlatEmptyBorder
-
- com.formdev.flatlaf.ui.FlatDropShadowBorder
-
- All Implemented Interfaces:
FlatStylingSupport.StyleableBorder
,java.io.Serializable
,javax.swing.border.Border
,javax.swing.plaf.UIResource
public class FlatDropShadowBorder extends FlatEmptyBorder implements FlatStylingSupport.StyleableBorder
Paints a drop shadow border around the component. Supports 1-sided, 2-side, 3-sided or 4-sided drop shadows.The shadow insets allow specifying drop shadow thickness for each side. A zero or negative value hides the drop shadow on that side. A negative value can be used to indent the drop shadow on corners. E.g. -4 on left indents drop shadow at top-left and bottom-left corners by 4 pixels.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.awt.Color
lastShadowColor
private float
lastShadowOpacity
private int
lastShadowSize
private double
lastSystemScaleFactor
private float
lastUserScaleFactor
protected java.awt.Color
shadowColor
private java.awt.Image
shadowImage
protected java.awt.Insets
shadowInsets
protected float
shadowOpacity
private int
shadowSize
-
Constructor Summary
Constructors Constructor Description FlatDropShadowBorder()
FlatDropShadowBorder(java.awt.Color shadowColor)
FlatDropShadowBorder(java.awt.Color shadowColor, int shadowSize, float shadowOpacity)
FlatDropShadowBorder(java.awt.Color shadowColor, java.awt.Insets shadowInsets, float shadowOpacity)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
applyStyleProperty(java.lang.String key, java.lang.Object value)
private static java.awt.image.BufferedImage
createShadowImage(java.awt.Color shadowColor, int shadowSize, float shadowOpacity, float scaleFactor)
java.util.Map<java.lang.String,java.lang.Class<?>>
getStyleableInfos()
java.lang.Object
getStyleableValue(java.lang.String key)
private int
maxInset(java.awt.Insets shadowInsets)
private static java.awt.Insets
nonNegativeInsets(java.awt.Insets shadowInsets)
void
paintBorder(java.awt.Component c, java.awt.Graphics g, int x, int y, int width, int height)
private void
paintImpl(java.awt.Graphics2D g, int x, int y, int width, int height, double scaleFactor)
private int
scale(int value, double scaleFactor)
-
Methods inherited from class com.formdev.flatlaf.ui.FlatEmptyBorder
applyStyleProperty, getBorderInsets, getBorderInsets, getStyleableValue, getUnscaledBorderInsets, scaleInsets
-
-
-
-
Field Detail
-
shadowColor
protected java.awt.Color shadowColor
-
shadowInsets
protected java.awt.Insets shadowInsets
-
shadowOpacity
protected float shadowOpacity
-
shadowSize
private int shadowSize
-
shadowImage
private java.awt.Image shadowImage
-
lastShadowColor
private java.awt.Color lastShadowColor
-
lastShadowOpacity
private float lastShadowOpacity
-
lastShadowSize
private int lastShadowSize
-
lastSystemScaleFactor
private double lastSystemScaleFactor
-
lastUserScaleFactor
private float lastUserScaleFactor
-
-
Constructor Detail
-
FlatDropShadowBorder
public FlatDropShadowBorder()
-
FlatDropShadowBorder
public FlatDropShadowBorder(java.awt.Color shadowColor)
-
FlatDropShadowBorder
public FlatDropShadowBorder(java.awt.Color shadowColor, int shadowSize, float shadowOpacity)
-
FlatDropShadowBorder
public FlatDropShadowBorder(java.awt.Color shadowColor, java.awt.Insets shadowInsets, float shadowOpacity)
-
-
Method Detail
-
nonNegativeInsets
private static java.awt.Insets nonNegativeInsets(java.awt.Insets shadowInsets)
-
maxInset
private int maxInset(java.awt.Insets shadowInsets)
-
applyStyleProperty
public java.lang.Object applyStyleProperty(java.lang.String key, java.lang.Object value)
- Specified by:
applyStyleProperty
in interfaceFlatStylingSupport.StyleableBorder
- Since:
- 2
-
getStyleableInfos
public java.util.Map<java.lang.String,java.lang.Class<?>> getStyleableInfos()
- Specified by:
getStyleableInfos
in interfaceFlatStylingSupport.StyleableBorder
- Since:
- 2
-
getStyleableValue
public java.lang.Object getStyleableValue(java.lang.String key)
- Specified by:
getStyleableValue
in interfaceFlatStylingSupport.StyleableBorder
- Since:
- 2.5
-
paintBorder
public void paintBorder(java.awt.Component c, java.awt.Graphics g, int x, int y, int width, int height)
- Specified by:
paintBorder
in interfacejavax.swing.border.Border
- Overrides:
paintBorder
in classjavax.swing.border.EmptyBorder
-
paintImpl
private void paintImpl(java.awt.Graphics2D g, int x, int y, int width, int height, double scaleFactor)
-
scale
private int scale(int value, double scaleFactor)
-
createShadowImage
private static java.awt.image.BufferedImage createShadowImage(java.awt.Color shadowColor, int shadowSize, float shadowOpacity, float scaleFactor)
-
-