contrib.com.blogofbug.swing.borders
Class ImageBorder

java.lang.Object
  extended by javax.swing.border.AbstractBorder
      extended by contrib.com.blogofbug.swing.borders.ImageBorder
All Implemented Interfaces:
java.io.Serializable, javax.swing.border.Border

public class ImageBorder
extends javax.swing.border.AbstractBorder

ImageBorder takes an image and breaks out the corners and the top, left, right, and bottom borders stretching them to fill the space around which the border is drawn

Author:
nigel
See Also:
Serialized Form

Field Summary
protected  AbstractImageBorder borderRenderer
           
 
Constructor Summary
ImageBorder(java.awt.image.BufferedImage borderImage, java.awt.Insets imageInsets)
          Creates a new ImageBorder using the supplied image and the insets
ImageBorder(java.net.URL imageURL, java.awt.Insets imageInsets)
          Creates a new ImageBofder loading the image from the supplied URL
 
Method Summary
 java.awt.Insets getBorderInsets(java.awt.Component c)
          Gets the insets of the image back (subtracting from the component size would give you the renderable area
 java.awt.Insets getBorderInsets(java.awt.Component c, java.awt.Insets i)
          Gets the insets of the image and returns in the in the supplied Insets instance
 void paintBorder(java.awt.Component c, java.awt.Graphics g, int x, int y, int width, int height)
          Paints the border around the specified component
 void paintCenter(java.awt.Graphics2D g2, java.awt.Component c)
           
 void setPaintBorder(boolean paintBorder)
          Controls wether or not the border is actually painted or not.
 
Methods inherited from class javax.swing.border.AbstractBorder
getBaseline, getBaselineResizeBehavior, getInteriorRectangle, getInteriorRectangle, isBorderOpaque
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

borderRenderer

protected AbstractImageBorder borderRenderer
Constructor Detail

ImageBorder

public ImageBorder(java.awt.image.BufferedImage borderImage,
                   java.awt.Insets imageInsets)
Creates a new ImageBorder using the supplied image and the insets

Parameters:
borderImage - The image to be used as the border
imageInsets - The insets around the edge of the image that allow the cookie-cut-and-stretch of the image around the edge of the border

ImageBorder

public ImageBorder(java.net.URL imageURL,
                   java.awt.Insets imageInsets)
Creates a new ImageBofder loading the image from the supplied URL

Parameters:
imageURL - The location of the image to use
imageInsets - The insets around the edge of the image that allow the cookie-cut-and-stretch of the image around the edge of the border
Method Detail

paintBorder

public void paintBorder(java.awt.Component c,
                        java.awt.Graphics g,
                        int x,
                        int y,
                        int width,
                        int height)
Paints the border around the specified component

Specified by:
paintBorder in interface javax.swing.border.Border
Overrides:
paintBorder in class javax.swing.border.AbstractBorder
Parameters:
c - The component to paint the border on
g - The graphics context
x - The x offset
y - The y offset
width - The width
height - The height

setPaintBorder

public void setPaintBorder(boolean paintBorder)
Controls wether or not the border is actually painted or not.

Parameters:
paintBorder - If false then will not draw the border. Useful if the border is being used to show a selected item

getBorderInsets

public java.awt.Insets getBorderInsets(java.awt.Component c)
Gets the insets of the image back (subtracting from the component size would give you the renderable area

Specified by:
getBorderInsets in interface javax.swing.border.Border
Overrides:
getBorderInsets in class javax.swing.border.AbstractBorder
Parameters:
c - The component to which the border will be applied
Returns:
The insets of the border

getBorderInsets

public java.awt.Insets getBorderInsets(java.awt.Component c,
                                       java.awt.Insets i)
Gets the insets of the image and returns in the in the supplied Insets instance

Overrides:
getBorderInsets in class javax.swing.border.AbstractBorder
Parameters:
c - The component to which the border will be applied
i - A pre-created insets object
Returns:
The insets of the border

paintCenter

public void paintCenter(java.awt.Graphics2D g2,
                        java.awt.Component c)