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()
InputFormatgetFileFilter in interface InputFormatpublic java.lang.String[] getFileExtensions()
public javax.swing.JComponent getInputFormatAccessory()
InputFormatgetInputFormatAccessory in interface InputFormatpublic void read(java.net.URI uri,
Drawing drawing)
throws java.io.IOException
InputFormatThis is a convenience method for calling read(URI,Drawing,true).
read in interface InputFormaturi - The URI.drawing - The drawing.java.io.IOExceptionpublic void read(java.net.URI uri,
Drawing drawing,
boolean replace)
throws java.io.IOException
InputFormatread in interface InputFormaturi - 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.IOExceptionpublic void read(java.io.File file,
Drawing drawing,
boolean replace)
throws java.io.IOException
java.io.IOExceptionpublic void read(java.io.File file,
Drawing drawing)
throws java.io.IOException
java.io.IOExceptionpublic void read(java.io.InputStream in,
Drawing drawing,
boolean replace)
throws java.io.IOException
InputFormatread in interface InputFormatin - 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.IOExceptionpublic ImageHolderFigure createImageHolder(java.io.InputStream in) throws java.io.IOException
java.io.IOExceptionpublic boolean isDataFlavorSupported(java.awt.datatransfer.DataFlavor flavor)
InputFormatisDataFlavorSupported in interface InputFormatflavor - A DataFlavor.public void read(java.awt.datatransfer.Transferable t,
Drawing drawing,
boolean replace)
throws java.awt.datatransfer.UnsupportedFlavorException,
java.io.IOException
InputFormatread in interface InputFormatt - 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.UnsupportedFlavorExceptionjava.io.IOException