Package UI

Class DropShadowBorder

  • All Implemented Interfaces:
    javax.swing.border.Border

    public class DropShadowBorder
    extends java.lang.Object
    implements javax.swing.border.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.
    • Constructor Summary

      Constructors 
      Constructor Description
      DropShadowBorder()
      Constructs a DropShadowBorder with default settings.
      DropShadowBorder​(java.awt.Color lineColor, int lineWidth, int shadowSize)
      Constructs a DropShadowBorder with specified line color, line width, and shadow size.
      DropShadowBorder​(java.awt.Color lineColor, int lineWidth, int shadowSize, float shadowOpacity, int cornerSize, boolean showTopShadow, boolean showLeftShadow, boolean showBottomShadow, boolean showRightShadow)
      Constructs a DropShadowBorder with full customization options.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.awt.Insets getBorderInsets​(java.awt.Component c)
      Returns the insets of the border.
      boolean isBorderOpaque()
      Indicates whether the border is opaque.
      void paintBorder​(java.awt.Component c, java.awt.Graphics graphics, int x, int y, int width, int height)
      Paints the border for the specified component.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DropShadowBorder

        public DropShadowBorder()
        Constructs a DropShadowBorder with default settings. Uses the default color from the UIManager, a line width of 1, and a shadow size of 5.
      • DropShadowBorder

        public DropShadowBorder​(java.awt.Color lineColor,
                                int lineWidth,
                                int shadowSize)
        Constructs a DropShadowBorder with specified line color, line width, and shadow size.
        Parameters:
        lineColor - the color of the border line
        lineWidth - the width of the border line
        shadowSize - the size of the shadow
      • DropShadowBorder

        public DropShadowBorder​(java.awt.Color lineColor,
                                int lineWidth,
                                int shadowSize,
                                float shadowOpacity,
                                int cornerSize,
                                boolean showTopShadow,
                                boolean showLeftShadow,
                                boolean showBottomShadow,
                                boolean showRightShadow)
        Constructs a DropShadowBorder with full customization options.
        Parameters:
        lineColor - the color of the border line
        lineWidth - the width of the border line
        shadowSize - the size of the shadow
        shadowOpacity - the opacity of the shadow
        cornerSize - the size of the corners
        showTopShadow - whether to show the top shadow
        showLeftShadow - whether to show the left shadow
        showBottomShadow - whether to show the bottom shadow
        showRightShadow - whether to show the right shadow
    • Method Detail

      • paintBorder

        public void paintBorder​(java.awt.Component c,
                                java.awt.Graphics graphics,
                                int x,
                                int y,
                                int width,
                                int height)
        Paints the border for the specified component. Draws the shadow and border lines based on the component's dimensions and shadow settings.
        Specified by:
        paintBorder in interface javax.swing.border.Border
        Parameters:
        c - the component for which this border is being painted
        graphics - the Graphics context in which to paint
        x - the x position of the painted border
        y - the y position of the painted border
        width - the width of the painted border
        height - the height of the painted border
      • getBorderInsets

        public java.awt.Insets getBorderInsets​(java.awt.Component c)
        Returns the insets of the border. The insets are determined based on the visibility of the shadows and the line width.
        Specified by:
        getBorderInsets in interface javax.swing.border.Border
        Parameters:
        c - the component for which this border insets value applies
        Returns:
        the insets of the border
      • isBorderOpaque

        public boolean isBorderOpaque()
        Indicates whether the border is opaque.
        Specified by:
        isBorderOpaque in interface javax.swing.border.Border
        Returns:
        true if the border is opaque, false otherwise