Class AbstractMultiResolutionImage

java.lang.Object
java.awt.Image
java.awt.image.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:
  • Field Summary

    Fields declared in class Image

    accelerationPriority, SCALE_AREA_AVERAGING, SCALE_DEFAULT, SCALE_FAST, SCALE_REPLICATE, SCALE_SMOOTH, UndefinedProperty
    Modifier and Type
    Field
    Description
    protected float
    Priority for accelerating this image.
    static final int
    Use the Area Averaging image scaling algorithm.
    static final int
    Use the default image-scaling algorithm.
    static final int
    Choose an image-scaling algorithm that gives higher priority to scaling speed than smoothness of the scaled image.
    static final int
    Use the image scaling algorithm embodied in the ReplicateScaleFilter class.
    static final int
    Choose an image-scaling algorithm that gives higher priority to image smoothness than scaling speed.
    static final Object
    The UndefinedProperty object should be returned whenever a property which was not defined for a particular image is fetched.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Constructor for subclasses to call.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract Image
    Return the base image representing the best version of the image for rendering at the default width and height.
    As per the contract of the base Image#getGraphics() method, this implementation will always throw UnsupportedOperationException since only off-screen images can return a Graphics object.
    int
    This method simply delegates to the same method on the base image and it is equivalent to: getBaseImage().getHeight(observer).
    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).
    This method simply delegates to the same method on the base image and it is equivalent to: getBaseImage().getSource().
    int
    This method simply delegates to the same method on the base image and it is equivalent to: getBaseImage().getWidth(observer).

    Methods declared in class Image

    flush, getAccelerationPriority, getCapabilities, getScaledInstance, setAccelerationPriority
    Modifier and Type
    Method
    Description
    void
    Flushes all reconstructable resources being used by this Image object.
    float
    Returns the current value of the acceleration priority hint.
    Returns an ImageCapabilities object which can be inquired as to the capabilities of this Image on the specified GraphicsConfiguration.
    getScaledInstance(int width, int height, int hints)
    Creates a scaled version of this image.
    void
    setAccelerationPriority(float priority)
    Sets a hint for this image about how important acceleration is.

    Methods declared in class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.
    boolean
    Compares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    May cause performance issues, deadlocks and hangs.
    final Class<? extends Object>
    Answers the unique instance of java.lang.Class which represents the class of the receiver.
    int
    Answers an integer hash code for the receiver.
    final void
    Causes one thread which is waiting on the receiver to be made ready to run.
    final void
    Causes all threads which are waiting on the receiver to be made ready to run.
    Answers a string containing a concise, human-readable description of the receiver.
    final void
    Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated by notify or notifyAll).
    final void
    wait(long time)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
    final void
    wait(long time, int frac)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.

    Methods declared in interface MultiResolutionImage

    getResolutionVariant, getResolutionVariants
    Modifier and Type
    Method
    Description
    getResolutionVariant(double destImageWidth, double destImageHeight)
    Gets a specific image that is the best variant to represent this logical image at the indicated size.
    Gets a readable list of all resolution variants.
  • Constructor Details

    • AbstractMultiResolutionImage

      protected AbstractMultiResolutionImage()
      Constructor for subclasses to call.
  • Method Details

    • 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:
    • 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:
    • 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:
    • getGraphics

      public Graphics getGraphics()
      As per the contract of the base Image#getGraphics() method, this implementation will always throw UnsupportedOperationException since only off-screen images can return a Graphics object.
      Specified by:
      getGraphics in class Image
      Returns:
      throws UnsupportedOperationException
      Throws:
      UnsupportedOperationException - this method is not supported
      See Also:
    • 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

      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