Class DoubleSizeImageIcon

  • All Implemented Interfaces:
    ResizableIcon, java.io.Serializable, java.lang.Cloneable, javax.accessibility.Accessible, javax.swing.Icon

    @OpenApiAll
    public class DoubleSizeImageIcon
    extends ScalableImageIcon
    Icon combines two other icons and chooses which one to paint depending on graphics scaling. Large icon will be used if painting rectangle size is larger than size of small icon.
    See Also:
    Serialized Form
    • Field Detail

      • smallIcon

        private final javax.swing.Icon smallIcon
    • Constructor Detail

      • DoubleSizeImageIcon

        public DoubleSizeImageIcon​(javax.swing.Icon smallIcon,
                                   @CheckForNull
                                   ResizableIcon largeIcon)
        Constructor.
        Parameters:
        smallIcon - small icon
        largeIcon - large icon
    • Method Detail

      • paintIcon

        public void paintIcon​(java.awt.Component c,
                              java.awt.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.
      • isGraphicsScaled

        private boolean isGraphicsScaled​(@CheckForNull
                                         java.awt.geom.AffineTransform transform,
                                         int width,
                                         int height)
        Parameters:
        transform - graphics transform
        width - width to paint
        height - height to paint
        Returns:
        true if icon is being painted on scaled graphics
      • getScaledSize

        private static int getScaledSize​(int size,
                                         double graphicsScale)
      • getLargeIcon

        @CheckForNull
        public ResizableIcon getLargeIcon()
      • getSmallIcon

        public javax.swing.Icon getSmallIcon()
      • paintIcon

        public void paintIcon​(java.awt.Component c,
                              java.awt.Graphics g,
                              int x,
                              int y)
        Specified by:
        paintIcon in interface javax.swing.Icon
        Overrides:
        paintIcon in class ScalableImageIcon