Module java.desktop

Class AbstractMultiResolutionImage

  • All Implemented Interfaces:
    MultiResolutionImage
    Direct Known Subclasses:
    BaseMultiResolutionImage

    public abstract class AbstractMultiResolutionImage
    extends Image
    implements MultiResolutionImage
    This class provides default implementations of several Image methods for classes that want to implement the MultiResolutionImage interface. For example,
     
     public class CustomMultiResolutionImage extends AbstractMultiResolutionImage {
    
         final Image[] resolutionVariants;
    
         public CustomMultiResolutionImage(Image... resolutionVariants) {
              this.resolutionVariants = resolutionVariants;
         }
    
         public Image getResolutionVariant(
                 double destImageWidth, double destImageHeight) {
             // return a resolution variant based on the given destination image size
         }
    
         public List<Image> getResolutionVariants() {
             return Collections.unmodifiableList(Arrays.asList(resolutionVariants));
         }
    
         protected Image getBaseImage() {
             return resolutionVariants[0];
         }
     }
      
    Since:
    9
    See Also:
    Image, MultiResolutionImage
    • Constructor Detail

      • AbstractMultiResolutionImage

        public AbstractMultiResolutionImage()
    • Method Detail

      • getWidth

        public int getWidth​(ImageObserver observer)
        This method simply delegates to the same method on the base image and it is equivalent to: getBaseImage().getWidth(observer).
        Specified by:
        getWidth in class Image
        Parameters:
        observer - an object waiting for the image to be loaded.
        Returns:
        the width of the base image, or -1 if the width is not yet known
        Since:
        9
        See Also:
        getBaseImage()
      • getHeight

        public int getHeight​(ImageObserver observer)
        This method simply delegates to the same method on the base image and it is equivalent to: getBaseImage().getHeight(observer).
        Specified by:
        getHeight in class Image
        Parameters:
        observer - an object waiting for the image to be loaded.
        Returns:
        the height of the base image, or -1 if the height is not yet known
        Since:
        9
        See Also:
        getBaseImage()
      • getSource

        public ImageProducer getSource()
        This method simply delegates to the same method on the base image and it is equivalent to: getBaseImage().getSource().
        Specified by:
        getSource in class Image
        Returns:
        the image producer that produces the pixels for the base image
        Since:
        9
        See Also:
        getBaseImage()
      • getProperty

        public Object getProperty​(String name,
                                  ImageObserver observer)
        This method simply delegates to the same method on the base image and it is equivalent to: getBaseImage().getProperty(name, observer).
        Specified by:
        getProperty in class Image
        Parameters:
        name - a property name.
        observer - an object waiting for this image to be loaded.
        Returns:
        the value of the named property in the base image
        Since:
        9
        See Also:
        getBaseImage()
      • getBaseImage

        protected abstract Image getBaseImage()
        Return the base image representing the best version of the image for rendering at the default width and height.
        Returns:
        the base image of the set of multi-resolution images
        Since:
        9