Class RPrintUtilities

java.lang.Object
org.fife.print.RPrintUtilities

public abstract class RPrintUtilities extends Object
A collection of static methods useful for printing text from Swing text components.
Version:
1.0
  • Field Details

    • currentDocLineNumber

      private static int currentDocLineNumber
    • numDocLines

      private static int numDocLines
    • rootElement

      private static 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 FontMetrics fm
      The metrics of the font currently being used to print.
  • Constructor Details

    • RPrintUtilities

      public RPrintUtilities()
  • Method Details

    • getLineBreakPoint

      private static int getLineBreakPoint(String line, int maxCharsPerLine)
      Returns the position closest to, but before, position maxCharsPerLine in line of one of the chars in breakChars, or simply returns maxCharsPerLine-1 if none of the breakChars comes before that position. This position represents the logical line break for this java.lang.String if it is being printed in a monospaced font when lines can only be maxCharsPerLine characters long.
      Parameters:
      line - The text being printed.
      maxCharsPerLine - Only up-to this many characters from line can be printed on one line.
      Returns:
      The logical position at which to stop printing line to simulate word wrap.
    • printDocumentMonospaced

      public static int printDocumentMonospaced(Graphics g, Document doc, int fontSize, int pageIndex, PageFormat pageFormat, int tabSize)
      Prints a Document using 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 - The javax.swing.text.Document to 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

      public static int printDocumentMonospacedWordWrap(Graphics g, Document doc, int fontSize, int pageIndex, PageFormat pageFormat, int tabSize)
      Prints a Document using 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 - The javax.swing.text.Document to 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:
    • printDocumentWordWrap

      public static int printDocumentWordWrap(Graphics g, JTextComponent textComponent, Font font, int pageIndex, PageFormat pageFormat, int tabSize)
      Prints a Document using 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 - The javax.swing.text.JTextComponent whose text you're printing.
      font - The font to use for printing. If null, then textComponent'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 Segment removeEndingWhitespace(Segment segment)
      Removes any spaces or tabs from the end of the segment.
      Parameters:
      segment - The segment from which to remove tailing whitespace.
      Returns:
      segment with trailing whitespace removed.