Class IconBorder

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

@JavaBean public class IconBorder extends Object implements Border, Serializable
IconBorder creates a border that places an Icon in the border on the horizontal axis. The border does not add any additional insets other than the inset required to produce the space for the icon. If additional insets are required, users should create a compund border.

This border is useful when attempting to add Icons to pre-existing components without requiring specialty painting.

Version:
1.1
See Also:
  • Field Details

    • EMPTY_ICON

      public static final Icon EMPTY_ICON
      An empty icon.
    • padding

      private int padding
    • icon

      private Icon icon
    • iconPosition

      private int iconPosition
    • iconBounds

      private Rectangle iconBounds
  • Constructor Details

    • IconBorder

      public IconBorder()
      Creates an IconBorder with an empty icon in a trailing position with a padding of 4.
      See Also:
    • IconBorder

      public IconBorder(Icon validIcon)
      Creates an IconBorder with the specified icon in a trailing position with a padding of 4.
      Parameters:
      validIcon - the icon to set. This may be null to represent an empty icon.
      See Also:
    • IconBorder

      public IconBorder(Icon validIcon, int iconPosition)
      Creates an IconBorder with the specified constraints and a padding of 4.
      Parameters:
      validIcon - the icon to set. This may be null to represent an empty icon.
      iconPosition - the position to place the icon relative to the component contents. This must be one of the following SwingConstants:
      • LEADING
      • TRAILING
      • EAST
      • WEST
      Throws:
      IllegalArgumentException - if iconPosition is not a valid position.
      See Also:
    • IconBorder

      public IconBorder(Icon validIcon, int iconPosition, int padding)
      Creates an IconBorder with the specified constraints. If validIcon is null, EMPTY_ICON is used instead. If padding is negative, then the border does not use padding.
      Parameters:
      validIcon - the icon to set. This may be null to represent an empty icon.
      iconPosition - the position to place the icon relative to the component contents. This must be one of the following SwingConstants:
      • LEADING
      • TRAILING
      • EAST
      • WEST
      padding - the padding to surround the icon with. All non-positive values set the padding to 0.
      Throws:
      IllegalArgumentException - if iconPosition is not a valid position.
      See Also:
  • Method Details

    • isValidPosition

      private boolean isValidPosition(int position)
    • getBorderInsets

      public Insets getBorderInsets(Component c)
      Specified by:
      getBorderInsets in interface Border
    • setIcon

      public void setIcon(Icon validIcon)
      Sets the icon for this border.
      Parameters:
      validIcon - the icon to set. This may be null to represent an empty icon.
      See Also:
    • isBorderOpaque

      public boolean isBorderOpaque()
      This border is not opaque.
      Specified by:
      isBorderOpaque in interface Border
      Returns:
      always returns false
    • paintBorder

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

      private int bidiDecodeLeadingTrailing(ComponentOrientation c, int position)
      Returns EAST or WEST depending on the ComponentOrientation and the given postion LEADING/TRAILING this method has no effect for other position values
    • getPadding

      public int getPadding()
      Gets the padding surrounding the icon.
      Returns:
      the padding for the icon. This value is guaranteed to be nonnegative.
    • setPadding

      public void setPadding(int padding)
      Sets the padding around the icon.
      Parameters:
      padding - the padding to set. If padding < 0, then padding will be set to 0.
    • getIconPosition

      public int getIconPosition()
      Returns the position to place the icon (relative to the component contents).
      Returns:
      one of the following SwingConstants:
      • LEADING
      • TRAILING
      • EAST
      • WEST
    • setIconPosition

      public void setIconPosition(int iconPosition)
      Sets the position to place the icon (relative to the component contents).
      Parameters:
      iconPosition - must be one of the following SwingConstants:
      • LEADING
      • TRAILING
      • EAST
      • WEST
      Throws:
      IllegalArgumentException - if iconPosition is not a valid position.