Class SquareIcon

All Implemented Interfaces:
ResizableIcon, Serializable, Cloneable, Accessible, Icon

@OpenApiAll public final class SquareIcon extends ResizableIconImageIcon
An icon which fits another icon into a square of given size.
See Also:
  • Method Details

    • fit

      public static ResizableIcon fit(ResizableIcon icon, int size)
      Convert given icon to a scaled icon which fits to a square of given size. Wrapped icon is zoomed in if icon is smaller than square.
      Parameters:
      icon - icon
      size - square size
      Returns:
      scaled icon
    • fitOrCenter

      public static ResizableIcon fitOrCenter(ResizableIcon icon, int size)
      Convert given icon to a scaled icon which fits to a square of given size. Wrapped icon is not zoomed in if icon is smaller than square. Icon is zoomed out if it is larger than square. Icon will be painted in the center of the square.
      Parameters:
      icon - icon
      size - square size
      Returns:
      scaled icon
    • scale

      public static ResizableIcon scale(ResizableIcon icon, double scale)
      Convert given icon to a scaled icon with given scale(zoom) factor.
      Parameters:
      icon - icon
      scale - scale factor
      Returns:
      scaled icon
    • getScaleSize

      public static Dimension getScaleSize(Icon icon, int size)
      Utility method to calculate dimension of given icon if it needs to be fit into a square of given size.
      Parameters:
      icon - icon
      size - square size
      Returns:
      dimensions of icon to fit into a square
    • getScale

      public static double getScale(Icon icon, int size)
      Utility method to calculate a scale factor of given icon if it needs to be fit into a square of given size.
      Parameters:
      icon - icon
      size - square size
      Returns:
      scale factor of icon to fit into a square
    • paintIcon

      public void paintIcon(@CheckForNull Component c, Graphics g, int x, int y, int w, int h)
      Description copied from interface: ResizableIcon
      Draw the icon in the given bounds. Icon implementations may use the Component argument to get properties useful for painting, e.g. the foreground or background color.
      Specified by:
      paintIcon in interface ResizableIcon
      Overrides:
      paintIcon in class ScalableImageIcon
      Parameters:
      c - the given component.
      g - the graphics to paint on.
      x - x coordinate.
      y - y coordinate.
      w - width to paint.
      h - height to paint.
    • paintIcon

      public void paintIcon(Component c, Graphics g, int x, int y)
      Specified by:
      paintIcon in interface Icon
      Overrides:
      paintIcon in class ScalableImageIcon
    • getIconWidth

      public int getIconWidth()
      Specified by:
      getIconWidth in interface Icon
      Overrides:
      getIconWidth in class ScalableImageIcon
    • getIconHeight

      public int getIconHeight()
      Specified by:
      getIconHeight in interface Icon
      Overrides:
      getIconHeight in class ScalableImageIcon
    • getScale

      public Double getScale()
      Returns:
      icon scale factor