Class IconStore


  • public class IconStore
    extends java.lang.Object
    Manages client icons. Images are cached where appropriate. A size may be supplied so that all icons returned by this object's methods are of a given standard size. Also provides some icon utility methods.
    Since:
    17 Nov 2008
    Author:
    Mark Taylor
    • Constructor Summary

      Constructors 
      Constructor Description
      IconStore​(javax.swing.Icon defaultIcon)
      Constructor.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static javax.swing.Icon createEmptyIcon​(int size)
      Returns an icon with no content but a given size.
      static javax.swing.Icon createMinimalIcon​(int size)
      Returns an icon which indicates a shape but doesn't look like much.
      javax.swing.Icon getIcon​(java.lang.String url)
      Returns the icon supplied by the graphic file at a given URL.
      javax.swing.Icon getIcon​(Client client)
      Returns the icon associated with a given client.
      static javax.swing.Icon scaleIcon​(javax.swing.Icon icon, int fixDim, double maxAspect, boolean fixVertical)
      Icon implementation which is rescaled to so that one dimension (either width or height) has a fixed value.
      static javax.swing.Icon sizeIcon​(javax.swing.Icon icon, int size)
      Return an icon based on an existing one, but drawn to an exact size.
      • Methods inherited from class java.lang.Object

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

      • IconStore

        public IconStore​(javax.swing.Icon defaultIcon)
        Constructor.
        Parameters:
        defaultIcon - icon returned if no client icon is available
    • Method Detail

      • getIcon

        public javax.swing.Icon getIcon​(java.lang.String url)
        Returns the icon supplied by the graphic file at a given URL. Icons are cached, so that repeated invocations with the same url are not expensive.
        Parameters:
        url - URL of image
        Returns:
        image icon, resized if appropriate
      • getIcon

        public javax.swing.Icon getIcon​(Client client)
        Returns the icon associated with a given client. This is either the icon described in its metadata or the default icon if there isn't one.
        Parameters:
        client - client whose icon is required
        Returns:
        associated icon, resized if appropriate
      • createEmptyIcon

        public static javax.swing.Icon createEmptyIcon​(int size)
        Returns an icon with no content but a given size.
        Parameters:
        size - edge size in pixels
        Returns:
        emtpy square icon
      • createMinimalIcon

        public static javax.swing.Icon createMinimalIcon​(int size)
        Returns an icon which indicates a shape but doesn't look like much. Currently it's a kind of open square.
        Parameters:
        size - dimension in pixels
        Returns:
        minimal icon
      • sizeIcon

        public static javax.swing.Icon sizeIcon​(javax.swing.Icon icon,
                                                int size)
        Return an icon based on an existing one, but drawn to an exact size.
        Parameters:
        icon - original icon, or null for blank
        size - number of horizontal and vertical pixels in output
        Returns:
        resized version of icon
      • scaleIcon

        public static javax.swing.Icon scaleIcon​(javax.swing.Icon icon,
                                                 int fixDim,
                                                 double maxAspect,
                                                 boolean fixVertical)
        Icon implementation which is rescaled to so that one dimension (either width or height) has a fixed value.
        Parameters:
        icon - input icon
        fixDim - the fixed dimension in pixels
        maxAspect - maximum aspect ratio (>= 1)
        fixVertical - true to fix height, false to fix width