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.ColorlastShadowColorprivate floatlastShadowOpacityprivate intlastShadowSizeprivate doublelastSystemScaleFactorprivate floatlastUserScaleFactorprotected java.awt.ColorshadowColorprivate java.awt.ImageshadowImageprotected java.awt.InsetsshadowInsetsprotected floatshadowOpacityprivate intshadowSize
-
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.ObjectapplyStyleProperty(java.lang.String key, java.lang.Object value)private static java.awt.image.BufferedImagecreateShadowImage(java.awt.Color shadowColor, int shadowSize, float shadowOpacity, float scaleFactor)java.util.Map<java.lang.String,java.lang.Class<?>>getStyleableInfos()java.lang.ObjectgetStyleableValue(java.lang.String key)private intmaxInset(java.awt.Insets shadowInsets)private static java.awt.InsetsnonNegativeInsets(java.awt.Insets shadowInsets)voidpaintBorder(java.awt.Component c, java.awt.Graphics g, int x, int y, int width, int height)private voidpaintImpl(java.awt.Graphics2D g, int x, int y, int width, int height, double scaleFactor)private intscale(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:
applyStylePropertyin interfaceFlatStylingSupport.StyleableBorder- Since:
- 2
-
getStyleableInfos
public java.util.Map<java.lang.String,java.lang.Class<?>> getStyleableInfos()
- Specified by:
getStyleableInfosin interfaceFlatStylingSupport.StyleableBorder- Since:
- 2
-
getStyleableValue
public java.lang.Object getStyleableValue(java.lang.String key)
- Specified by:
getStyleableValuein 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:
paintBorderin interfacejavax.swing.border.Border- Overrides:
paintBorderin 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)
-
-