public class TextInputFormat extends java.lang.Object implements InputFormat
This class uses the prototype design pattern. A TextHolderFigure figure is used as a prototype for creating a figure that holds the imported text.
For text that spans multiple lines, TextInputFormat can either add all the text to the same Figure, or it can create a new Figure for each line.
Prototype
The text input format creates new text 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: TextHolderFigure
; Client: TextInputFormat
.
Constructor and Description |
---|
TextInputFormat(TextHolderFigure prototype)
Creates a new image output format for text, for a figure that can not.
|
TextInputFormat(TextHolderFigure prototype,
java.lang.String formatName,
java.lang.String description,
java.lang.String fileExtension,
boolean isMultiline)
Creates a new image output format for the specified image format.
|
Modifier and Type | Method and Description |
---|---|
java.util.LinkedList<Figure> |
createTextHolderFigures(java.io.InputStream in) |
java.lang.String |
getFileExtension() |
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 TextInputFormat(TextHolderFigure prototype)
public TextInputFormat(TextHolderFigure prototype, java.lang.String formatName, java.lang.String description, java.lang.String fileExtension, boolean isMultiline)
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 file filter.isMultiline
- Set this to true, if the TextHolderFigure can hold
multiple lines of text. If this is true, multiple lines of text are
added to the same figure. If this is false, a new Figure is created for
each line of text.public javax.swing.filechooser.FileFilter getFileFilter()
InputFormat
getFileFilter
in interface InputFormat
public java.lang.String getFileExtension()
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) throws java.io.IOException
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.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 java.util.LinkedList<Figure> createTextHolderFigures(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