Package org.fife.print
Class RPrintUtilities
- java.lang.Object
-
- org.fife.print.RPrintUtilities
-
public abstract class RPrintUtilities extends java.lang.ObjectA collection of static methods useful for printing text from Swing text components.- Version:
- 1.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classRPrintUtilities.RPrintTabExpanderA tab expander for the document currently being printed with the font being used for the printing.
-
Field Summary
Fields Modifier and Type Field Description private static char[]BREAK_CHARSprivate static intcurrentDocLineNumberprivate static java.awt.FontMetricsfmThe metrics of the font currently being used to print.private static intnumDocLinesprivate static javax.swing.text.ElementrootElementprivate static inttabSizeInSpacesThe length of a tab, in spaces.private static intxOffsetThe x-offset (for the page margin) when printing.
-
Constructor Summary
Constructors Constructor Description RPrintUtilities()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static intgetLineBreakPoint(java.lang.String line, int maxCharsPerLine)Returns the position closest to, but before, positionmaxCharsPerLineinlineof one of the chars inbreakChars, or simply returnsmaxCharsPerLine-1if none of thebreakCharscomes before that position.static intprintDocumentMonospaced(java.awt.Graphics g, javax.swing.text.Document doc, int fontSize, int pageIndex, java.awt.print.PageFormat pageFormat, int tabSize)Prints aDocumentusing a monospaced font, and does no word wrapping (ie, words will wrap mid-word to the next line).static intprintDocumentMonospacedWordWrap(java.awt.Graphics g, javax.swing.text.Document doc, int fontSize, int pageIndex, java.awt.print.PageFormat pageFormat, int tabSize)Prints aDocumentusing a monospaced font, word wrapping on the characters ' ', '\t', '\n', ',', '.', and ';'.static intprintDocumentWordWrap(java.awt.Graphics g, javax.swing.text.JTextComponent textComponent, java.awt.Font font, int pageIndex, java.awt.print.PageFormat pageFormat, int tabSize)Prints aDocumentusing the specified font, word wrapping on the characters ' ', '\t', '\n', ',', '.', and ';'.private static javax.swing.text.SegmentremoveEndingWhitespace(javax.swing.text.Segment segment)Removes any spaces or tabs from the end of the segment.
-
-
-
Field Detail
-
currentDocLineNumber
private static int currentDocLineNumber
-
numDocLines
private static int numDocLines
-
rootElement
private static javax.swing.text.Element rootElement
-
BREAK_CHARS
private static final char[] BREAK_CHARS
-
xOffset
private static int xOffset
The x-offset (for the page margin) when printing.
-
tabSizeInSpaces
private static int tabSizeInSpaces
The length of a tab, in spaces.
-
fm
private static java.awt.FontMetrics fm
The metrics of the font currently being used to print.
-
-
Method Detail
-
getLineBreakPoint
private static int getLineBreakPoint(java.lang.String line, int maxCharsPerLine)Returns the position closest to, but before, positionmaxCharsPerLineinlineof one of the chars inbreakChars, or simply returnsmaxCharsPerLine-1if none of thebreakCharscomes before that position. This position represents the logical line break for thisjava.lang.Stringif it is being printed in a monospaced font when lines can only bemaxCharsPerLinecharacters long.- Parameters:
line- The text being printed.maxCharsPerLine- Only up-to this many characters fromlinecan be printed on one line.- Returns:
- The logical position at which to stop printing
lineto simulate word wrap.
-
printDocumentMonospaced
public static int printDocumentMonospaced(java.awt.Graphics g, javax.swing.text.Document doc, int fontSize, int pageIndex, java.awt.print.PageFormat pageFormat, int tabSize)Prints aDocumentusing a monospaced font, and does no word wrapping (ie, words will wrap mid-word to the next line). This method is expected to be called from Printable 'print(Graphics g)' functions.- Parameters:
g- The graphics context to write to.doc- Thejavax.swing.text.Documentto print.fontSize- the point size to use for the monospaced font.pageIndex- The page number to print.pageFormat- The format to print the page with.tabSize- The number of spaces to expand tabs to.- Returns:
- One of the constants from
Printable. - See Also:
printDocumentMonospacedWordWrap(java.awt.Graphics, javax.swing.text.Document, int, int, java.awt.print.PageFormat, int)
-
printDocumentMonospacedWordWrap
public static int printDocumentMonospacedWordWrap(java.awt.Graphics g, javax.swing.text.Document doc, int fontSize, int pageIndex, java.awt.print.PageFormat pageFormat, int tabSize)Prints aDocumentusing a monospaced font, word wrapping on the characters ' ', '\t', '\n', ',', '.', and ';'. This method is expected to be called from Printable 'print(Graphics g)' functions.- Parameters:
g- The graphics context to write to.doc- Thejavax.swing.text.Documentto print.fontSize- the point size to use for the monospaced font.pageIndex- The page number to print.pageFormat- The format to print the page with.tabSize- The number of spaces to expand tabs to.- Returns:
- One of the constants from
Printable. - See Also:
printDocumentMonospaced(java.awt.Graphics, javax.swing.text.Document, int, int, java.awt.print.PageFormat, int)
-
printDocumentWordWrap
public static int printDocumentWordWrap(java.awt.Graphics g, javax.swing.text.JTextComponent textComponent, java.awt.Font font, int pageIndex, java.awt.print.PageFormat pageFormat, int tabSize)Prints aDocumentusing the specified font, word wrapping on the characters ' ', '\t', '\n', ',', '.', and ';'. This method is expected to be called from Printable 'print(Graphics g)' functions.- Parameters:
g- The graphics context to write to.textComponent- Thejavax.swing.text.JTextComponentwhose text you're printing.font- The font to use for printing. Ifnull, thentextComponent's font is used.pageIndex- The page number to print.pageFormat- The format to print the page with.tabSize- The number of spaces to convert tabs to.- Returns:
- One of the constants from
Printable.
-
removeEndingWhitespace
private static javax.swing.text.Segment removeEndingWhitespace(javax.swing.text.Segment segment)
Removes any spaces or tabs from the end of the segment.- Parameters:
segment- The segment from which to remove tailing whitespace.- Returns:
segmentwith trailing whitespace removed.
-
-