public class ImageInputFormat extends java.lang.Object implements InputFormat
This class uses the prototype design pattern. A ImageHolderFigure figure is used as a prototype for creating a figure that holds the imported image.
If the drawing is replaced using the loaded image, the size of the
drawing is set to match the size of the image using the attributes
AttributeKeys.CANVAS_WIDTH
and AttributeKeys.CANVAS_HEIGHT
.
Prototype
The image input format creates new image holder figures by cloning a prototype figure
object and assigning an image to it, which was read from data input.
That's the reason why Figure
extends the Cloneable
interface.
Prototype: ImageHolderFigure
; Client: ImageInputFormat
.
Constructor and Description |
---|
ImageInputFormat(ImageHolderFigure prototype)
Creates a new image input format for all formats supported by
javax.imageio.ImageIO . |
ImageInputFormat(ImageHolderFigure prototype,
java.lang.String formatName,
java.lang.String description,
java.lang.String[] fileExtensions,
java.lang.String[] mimeTypes)
Creates a new image input format for the specified image format.
|
ImageInputFormat(ImageHolderFigure prototype,
java.lang.String formatName,
java.lang.String description,
java.lang.String fileExtension,
java.lang.String mimeType)
Creates a new image input format for the specified image format.
|
Modifier and Type | Method and Description |
---|---|
ImageHolderFigure |
createImageHolder(java.io.InputStream in) |
java.lang.String[] |
getFileExtensions() |
javax.swing.filechooser.FileFilter |
getFileFilter()
Return a FileFilter that can be used to identify files which can be read
with this input format.
|
javax.swing.JComponent |
getInputFormatAccessory()
Return a JFileChooser accessory that can be used to customize the input
format.
|
boolean |
isDataFlavorSupported(java.awt.datatransfer.DataFlavor flavor)
Returns true, if this InputFormat can readFigures TransferData using the
specified DataFlavor.
|
void |
read(java.io.File file,
Drawing drawing) |
void |
read(java.io.File file,
Drawing drawing,
boolean replace) |
void |
read(java.io.InputStream in,
Drawing drawing,
boolean replace)
Reads figures from a file and adds them to the specified drawing.
|
void |
read(java.awt.datatransfer.Transferable t,
Drawing drawing,
boolean replace)
Reads figures from the specified Transferable and adds them to the
specified drawing.
|
void |
read(java.net.URI uri,
Drawing drawing)
Reads figures from an URI and replaces the children of the drawing
with them.
|
void |
read(java.net.URI uri,
Drawing drawing,
boolean replace)
Reads figures from an URI and adds them to the specified drawing.
|
public ImageInputFormat(ImageHolderFigure prototype)
javax.imageio.ImageIO
.public ImageInputFormat(ImageHolderFigure prototype, java.lang.String formatName, java.lang.String description, java.lang.String fileExtension, java.lang.String mimeType)
formatName
- The format name for the javax.imageio.ImageIO object.description
- The format description to be used for the file filter.fileExtension
- The file extension to be used for the file filter.mimeType
- The mime type used for filtering data flavors from
Transferable objects.public ImageInputFormat(ImageHolderFigure prototype, java.lang.String formatName, java.lang.String description, java.lang.String[] fileExtensions, java.lang.String[] mimeTypes)
formatName
- The format name for the javax.imageio.ImageIO object.description
- The format description to be used for the file filter.fileExtensions
- The file extensions to be used for the file filter.mimeTypes
- The mime typse used for filtering data flavors from
Transferable objects.public javax.swing.filechooser.FileFilter getFileFilter()
InputFormat
getFileFilter
in interface InputFormat
public java.lang.String[] getFileExtensions()
public javax.swing.JComponent getInputFormatAccessory()
InputFormat
getInputFormatAccessory
in interface InputFormat
public void read(java.net.URI uri, Drawing drawing) throws java.io.IOException
InputFormat
This is a convenience method for calling read(URI,Drawing,true).
read
in interface InputFormat
uri
- The URI.drawing
- The drawing.java.io.IOException
public void read(java.net.URI uri, Drawing drawing, boolean replace) throws java.io.IOException
InputFormat
read
in interface InputFormat
uri
- The URI.drawing
- The drawing.replace
- Set this to true, if the contents of the file replaces the
contents of the drawing (for example, when loading a drawing from a file).
Set this to false, to add the contents of the file to the drawing (for
example, when the file has been dropped into the drawing view).java.io.IOException
public void read(java.io.File file, Drawing drawing, boolean replace) throws java.io.IOException
java.io.IOException
public void read(java.io.File file, Drawing drawing) throws java.io.IOException
java.io.IOException
public void read(java.io.InputStream in, Drawing drawing, boolean replace) throws java.io.IOException
InputFormat
read
in interface InputFormat
in
- The input stream.drawing
- The drawing.replace
- Set this to true, if the contents of the stream replaces the
contents of the drawing (for example, when loading a drawing from a stream).
Set this to false, to add the contents of the file to the drawing (for
example, when the stream has been dropped into the drawing view).java.io.IOException
public ImageHolderFigure createImageHolder(java.io.InputStream in) throws java.io.IOException
java.io.IOException
public boolean isDataFlavorSupported(java.awt.datatransfer.DataFlavor flavor)
InputFormat
isDataFlavorSupported
in interface InputFormat
flavor
- A DataFlavor.public void read(java.awt.datatransfer.Transferable t, Drawing drawing, boolean replace) throws java.awt.datatransfer.UnsupportedFlavorException, java.io.IOException
InputFormat
read
in interface InputFormat
t
- The Transferable.drawing
- The drawing.replace
- Set this to true, if the contents of the transferable
replaces the contents of the drawing (for example, when loading a drawing
from a transferable). Set this to false, to add the contents of the
transferable to the drawing (for example, when the transferable has been
dropped or pasted into the drawing view).java.awt.datatransfer.UnsupportedFlavorException
java.io.IOException