org.jdesktop.swingx.painter
Class ImagePainter

java.lang.Object
  extended by org.jdesktop.beans.AbstractBean
      extended by org.jdesktop.swingx.painter.AbstractPainter<T>
          extended by org.jdesktop.swingx.painter.AbstractLayoutPainter<T>
              extended by org.jdesktop.swingx.painter.AbstractAreaPainter<Object>
                  extended by org.jdesktop.swingx.painter.ImagePainter
All Implemented Interfaces:
Painter<Object>

@JavaBean
public class ImagePainter
extends AbstractAreaPainter<Object>

A Painter instance that paints an image. Any Image is acceptable. This Painter also allows the developer to specify a "Style" -- CENTERED, TILED, SCALED, POSITIONED, and CSS_POSITIONED; with the following meanings:

Author:
Richard

Nested Class Summary
static class ImagePainter.ScaleType
           
 
Nested classes/interfaces inherited from class org.jdesktop.swingx.painter.AbstractAreaPainter
AbstractAreaPainter.Style
 
Nested classes/interfaces inherited from class org.jdesktop.swingx.painter.AbstractLayoutPainter
AbstractLayoutPainter.HorizontalAlignment, AbstractLayoutPainter.VerticalAlignment
 
Nested classes/interfaces inherited from class org.jdesktop.swingx.painter.AbstractPainter
AbstractPainter.Interpolation
 
Constructor Summary
ImagePainter()
          Create a new ImagePainter.
ImagePainter(BufferedImage image)
          Create a new ImagePainter with the specified image and the Style Style.CENTERED
ImagePainter(BufferedImage image, AbstractLayoutPainter.HorizontalAlignment horizontal, AbstractLayoutPainter.VerticalAlignment vertical)
          Create a new ImagePainter with the specified image and alignment.
 
Method Summary
protected  void doPaint(Graphics2D g, Object component, int width, int height)
          Subclasses must implement this method and perform custom painting operations here.
 BufferedImage getImage()
          Gets the current image used for painting.
 double getImageScale()
          Gets the current scaling factor used when drawing an image.
 ImagePainter.ScaleType getScaleType()
           
 boolean isHorizontalRepeat()
          Indicates if the image will be repeated horizontally.
 boolean isScaleToFit()
           
 boolean isVerticalRepeat()
          Indicates if the image will be repeated vertically.
protected  Shape provideShape(Graphics2D g, Object comp, int width, int height)
          Returns the outline shape of this painter.
 void setHorizontalRepeat(boolean horizontalRepeat)
          Sets if the image should be repeated horizontally.
 void setImage(BufferedImage image)
          Sets the image to paint with.
 void setImageScale(double imageScale)
          Sets the scaling factor used when drawing the image
 void setScaleToFit(boolean scaleToFit)
           
 void setScaleType(ImagePainter.ScaleType scaleType)
           
 void setVerticalRepeat(boolean verticalRepeat)
          Sets if the image should be repeated vertically.
 
Methods inherited from class org.jdesktop.swingx.painter.AbstractAreaPainter
getAreaEffects, getBorderPaint, getBorderWidth, getFillPaint, getStyle, isPaintStretched, setAreaEffects, setBorderPaint, setBorderWidth, setFillPaint, setPaintStretched, setStyle
 
Methods inherited from class org.jdesktop.swingx.painter.AbstractLayoutPainter
calculateLayout, getHorizontalAlignment, getInsets, getVerticalAlignment, isFillHorizontal, isFillVertical, setFillHorizontal, setFillVertical, setHorizontalAlignment, setInsets, setVerticalAlignment
 
Methods inherited from class org.jdesktop.swingx.painter.AbstractPainter
clearCache, configureGraphics, getFilters, getInterpolation, isAntialiasing, isCacheable, isDirty, isVisible, paint, setAntialiasing, setCacheable, setDirty, setFilters, setInterpolation, setVisible, shouldUseCache, validate
 
Methods inherited from class org.jdesktop.beans.AbstractBean
addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, clone, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, fireVetoableChange, getPropertyChangeListeners, getPropertyChangeListeners, getVetoableChangeListeners, getVetoableChangeListeners, hasPropertyChangeListeners, hasVetoableChangeListeners, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ImagePainter

public ImagePainter()
Create a new ImagePainter. By default there is no image, and the alignment is centered.


ImagePainter

public ImagePainter(BufferedImage image)
Create a new ImagePainter with the specified image and the Style Style.CENTERED

Parameters:
image - the image to be painted

ImagePainter

public ImagePainter(BufferedImage image,
                    AbstractLayoutPainter.HorizontalAlignment horizontal,
                    AbstractLayoutPainter.VerticalAlignment vertical)
Create a new ImagePainter with the specified image and alignment.

Parameters:
horizontal - the horizontal alignment
vertical - the vertical alignment
image - the image to be painted
Method Detail

setImage

public void setImage(BufferedImage image)
Sets the image to paint with.

Parameters:
image - if null, clears the image. Otherwise, this will set the image to be painted.

getImage

public BufferedImage getImage()
Gets the current image used for painting.

Returns:
the image used for painting

doPaint

protected void doPaint(Graphics2D g,
                       Object component,
                       int width,
                       int height)
Subclasses must implement this method and perform custom painting operations here.

Specified by:
doPaint in class AbstractPainter<Object>
Parameters:
g - The Graphics2D object in which to paint

isScaleToFit

public boolean isScaleToFit()

setScaleToFit

public void setScaleToFit(boolean scaleToFit)

getScaleType

public ImagePainter.ScaleType getScaleType()

setScaleType

public void setScaleType(ImagePainter.ScaleType scaleType)

getImageScale

public double getImageScale()
Gets the current scaling factor used when drawing an image.

Returns:
the current scaling factor

setImageScale

public void setImageScale(double imageScale)
Sets the scaling factor used when drawing the image

Parameters:
imageScale - the new image scaling factor

isHorizontalRepeat

public boolean isHorizontalRepeat()
Indicates if the image will be repeated horizontally.

Returns:
if the image will be repeated horizontally

setHorizontalRepeat

public void setHorizontalRepeat(boolean horizontalRepeat)
Sets if the image should be repeated horizontally.

Parameters:
horizontalRepeat - the new horizontal repeat value

isVerticalRepeat

public boolean isVerticalRepeat()
Indicates if the image will be repeated vertically.

Returns:
if the image will be repeated vertically

setVerticalRepeat

public void setVerticalRepeat(boolean verticalRepeat)
Sets if the image should be repeated vertically.

Parameters:
verticalRepeat - new value for the vertical repeat

provideShape

protected Shape provideShape(Graphics2D g,
                             Object comp,
                             int width,
                             int height)
Description copied from class: AbstractAreaPainter
Returns the outline shape of this painter. Subclasses must implement this method. This shape will be used for filling, stroking, and clipping.

Specified by:
provideShape in class AbstractAreaPainter<Object>
Parameters:
g - graphics
comp - The Object this painter will be painted on.
width - the width to paint
height - the height to paint
Returns:
the outline shape of this painter


Copyright © 2012. All Rights Reserved.