|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectedu.neu.ccs.gui.AbstractPaintable
edu.neu.ccs.gui.ImagePaintableLite
An ImagePaintableLite creates a Paintable using
an image filename or an image URL.
To save memory, an ImagePaintableLite does not cache its image
but rather retrieves its image as needed for paint operations. Thus the class
trades time for space. This design enables a program to access a much larger
collection of images at one time than would be possible by directly using the
Java classes Image or ImageIcon or the JPT class
ImagePaintable. These other classes all retain the bit data for
an image and thus entail a high memory cost.
In 2.3.5, the class was refactored to be consistent with
the new Paintable interface and
the new AbstractPaintable class.
In 2.4.0, this class was updated to be consistent with refinements
to the Paintable interface.
ImagePaintable| Field Summary | |
private int |
height
The image height. |
private String |
imageFileName
The image file name. |
private URL |
imageURL
The image URL. |
static String |
SET_IMAGE
Bound property name for set image. |
static String |
SET_TOP_LEFT_CORNER
Bound property name for set top left point. |
private int |
width
The image width. |
private double |
xCorner
The top left corner x-position. |
private double |
yCorner
The top left corner y-position. |
| Fields inherited from class edu.neu.ccs.gui.AbstractPaintable |
SET_BACKGROUND_PAINT, SET_BACKGROUND_TILE |
| Fields inherited from interface edu.neu.ccs.gui.Paintable |
REMOVE_PAINTABLE, SET_CLIPPING_SHAPE, SET_DEFAULT_BOUNDS2D, SET_DEFAULT_CENTER, SET_DEFAULT_ORIGINAL_BOUNDS2D, SET_DEFAULT_ORIGINAL_CENTER, SET_MUTATOR, SET_OPACITY, SET_PAINTABLE, SET_VISIBLE, SHIFT_PAINTABLE |
| Fields inherited from interface edu.neu.ccs.util.JPTConstants |
ABOVE, ALIGNMENT, BELOW, BOTTOM_LEFT, BOTTOM_RIGHT, DEFAULT, FONT, INPUT_PROPERTIES, MANDATORY, OPTIONAL, ORIENTATION, TOP_LEFT, TOP_RIGHT, VALUE |
| Fields inherited from interface javax.swing.SwingConstants |
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST |
| Constructor Summary | |
ImagePaintableLite()
The default constructor that does not specify the image. |
|
ImagePaintableLite(String filename)
The constructor to specify the image by an image file name. |
|
ImagePaintableLite(String filename,
double x,
double y)
The constructor to specify the image by an image file name and the top left corner (x, y). |
|
ImagePaintableLite(String filename,
Point2D corner)
The constructor to specify the image by an image file name and the top left corner. |
|
ImagePaintableLite(URL url)
The constructor to specify the image by an image URL. |
|
ImagePaintableLite(URL url,
double x,
double y)
The constructor to specify the image by an image URL and the top left corner (x, y). |
|
ImagePaintableLite(URL url,
Point2D corner)
The constructor to specify the image by an image URL and the top left corner. |
|
| Method Summary | |
private Image |
fetchImage()
Returns the current image associated with a file name or URL or returns null if the current image is undefined. |
private ImageIcon |
fetchImageIcon()
Returns the current image icon associated with a file name or URL or returns null if the current image is undefined. |
XRect |
getActualBounds2D()
Returns the actual bounds of the original paintable or null if the paintable is effectively empty. |
int |
getImageHeight()
Returns the image height. |
int |
getImageWidth()
Returns the image width. |
Point2D |
getTopLeftCorner()
Returns a copy of the top left corner. |
boolean |
originalContains(double x,
double y)
Tests if a point specified by coordinates is inside the original paintable without mutation. |
void |
originalPaint(Graphics g)
Paints onto a Graphics context using information
from this object but without the use of the mutator transform. |
void |
setImageByFileName(String filename)
Sets the image by file name. |
void |
setImageByURL(URL url)
Sets the image by URL. |
private void |
setImageSizeParameters()
Sets the image width and height based on the current image or sets this data to (0, 0) if the current image is undefined. |
void |
setTopLeftCorner(double x,
double y)
Sets the top left corner with the given corner (x, y). |
void |
setTopLeftCorner(Point2D corner)
Sets the top left corner with the given corner. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static final String SET_IMAGE
public static final String SET_TOP_LEFT_CORNER
private String imageFileName
private URL imageURL
private double xCorner
private double yCorner
private int width
private int height
| Constructor Detail |
public ImagePaintableLite()
The default constructor that does not specify the image.
Other constructors:
- ImagePaintableLite(String)
- ImagePaintableLite(String, Point2D)
- ImagePaintableLite(String, double, double)
- ImagePaintableLite(URL)
- ImagePaintableLite(URL, Point2D)
- ImagePaintableLite(URL, double, double)
public ImagePaintableLite(String filename)
The constructor to specify the image by an image file name.
filename - the filename for the file with the imageImagePaintableLite()
public ImagePaintableLite(String filename,
Point2D corner)
The constructor to specify the image by an image file name and the top left corner.
filename - the filename for the file with the imagecorner - the top left cornerImagePaintableLite()
public ImagePaintableLite(String filename,
double x,
double y)
The constructor to specify the image by an image file name and the top left corner (x, y).
filename - the filename for the file with the imagex - the x-coordinate of the top left cornery - the y-coordinate of the top left cornerImagePaintableLite()public ImagePaintableLite(URL url)
The constructor to specify the image by an image URL.
url - the URL location for the imageImagePaintableLite()
public ImagePaintableLite(URL url,
Point2D corner)
The constructor to specify the image by an image URL and the top left corner.
url - the URL location for the imagecorner - the top left cornerImagePaintableLite()
public ImagePaintableLite(URL url,
double x,
double y)
The constructor to specify the image by an image URL and the top left corner (x, y).
url - the URL location for the imagex - the x-coordinate of the top left cornery - the y-coordinate of the top left cornerImagePaintableLite()| Method Detail |
public final void originalPaint(Graphics g)
Paints onto a Graphics context using information
from this object but without the use of the mutator transform.
If the current image or the graphics context is null,
this method will not paint.
If the image cannot be loaded, this method will not paint.
originalPaint in interface PaintableoriginalPaint in class AbstractPaintableg - the graphics context on which to paintpublic final XRect getActualBounds2D()
Returns the actual bounds of the original paintable or
null if the paintable is effectively empty.
getActualBounds2D in interface PaintablegetActualBounds2D in class AbstractPaintable
public final boolean originalContains(double x,
double y)
Tests if a point specified by coordinates is inside the original paintable without mutation.
originalContains in interface PaintableoriginalContains in class AbstractPaintablex - the x-coordinate of the pointy - the y-coordinate of the point
public final void setImageByFileName(String filename)
Sets the image by file name.
Fires property change: SET_IMAGE.
filename - the filename for the file with the imagepublic final void setImageByURL(URL url)
Sets the image by URL.
Fires property change: SET_IMAGE.
url - the URL location for the imagepublic final void setTopLeftCorner(Point2D corner)
Sets the top left corner with the given corner.
A null parameter is ignored.
Fires property change: SET_TOP_LEFT_CORNER.
corner - the top left corner
public final void setTopLeftCorner(double x,
double y)
Sets the top left corner with the given corner (x, y).
Fires property change: SET_TOP_LEFT_CORNER.
x - the x-coordinate of the top left cornery - the y-coordinate of the top left cornerpublic final Point2D getTopLeftCorner()
Returns a copy of the top left corner.
public final int getImageWidth()
Returns the image width.
If the current image is undefined, this method returns 0.
public final int getImageHeight()
Returns the image height.
If the current image is undefined, this method returns 0.
private final ImageIcon fetchImageIcon()
Returns the current image icon associated with a file name or URL
or returns null if the current image is undefined.
private final Image fetchImage()
Returns the current image associated with a file name or URL
or returns null if the current image is undefined.
private final void setImageSizeParameters()
Sets the image width and height based on the current image or sets this data to (0, 0) if the current image is undefined.
Fires property change: SET_IMAGE.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||