Class TLcdPrintPreview

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class TLcdPrintPreview extends JPanel
A multi-page print preview area. The area visualizes a TLcdComponentPrintable's pages at the given setZoom(double). The panel will automatically repaint itself when the settings are changed or when invalidatePrintable() is called.

This preview can be created by calling createPreview on a TLspViewComponentPrintable or TLcdGXYViewComponentPrintable.

Since:
2013.0
See Also:
  • Constructor Details

    • TLcdPrintPreview

      public TLcdPrintPreview(TLcdComponentPrintable aPrintable, PageFormat aPageFormat)
      Creates a new print preview area for the given printable and page format.
      Parameters:
      aPrintable - the printable to preview
      aPageFormat - the page format for the print preview
    • TLcdPrintPreview

      public TLcdPrintPreview(ALcdViewComponentPrintable aPrintable, PageFormat aPageFormat)
      Creates a new print preview area for the given printable and page format.
      Parameters:
      aPrintable - the printable to preview
      aPageFormat - the page format for the print preview
  • Method Details

    • paint

      public void paint(Graphics aGraphics)
      Overrides:
      paint in class JComponent
    • getPageLimit

      public int getPageLimit()
      Returns the limit on the amount of printed content to visualize. If more content is about to be visualized, a warning message is displayed.
      Returns:
      the limit on the amount of printed content to visualize.
      See Also:
    • setPageLimit

      public void setPageLimit(int aPageLimit)

      Sets a limit on the amount of printed content to visualize. If more content is about to be visualized, a warning message is displayed.

      The limit is defined in terms of a page limit, where each page is assumed to have an A4 page format, and is printed at 150 dpi. For example, when setting this value to 40, the limit is set to the amount of dots that would be printed when printing 40 A4 pages at 150 dpi. So when printing A3 pages at 300 dpi, the actual page limit would become 5, since A3 is twice as large as A4, and the amount of dots per square inch is quadrupled.

      The default value is 5

      Parameters:
      aPageLimit - the maximum number of pages to preview
    • getScreenResolution

      public int getScreenResolution()
      Returns the used screen resolution (DPI). By default this is the resolution of the default AWT toolkit.
      Returns:
      the screen resolution in pixels per inch
    • setScreenResolution

      public void setScreenResolution(int aScreenResolution)
      Sets the screen resolution (DPI) to use.
      Parameters:
      aScreenResolution - the screen resolution in (toolkit) pixels per inch
      See Also:
    • getZoom

      public double getZoom()
      Returns the screen/paper zoom level to preview the printable at.
      Returns:
      the screen/paper zoom level to preview the printable at
    • setZoom

      public void setZoom(double aZoom)
      Sets the screen/paper zoom level to preview the printable at. A value of 1.00 means that the screen preview size corresponds to the paper size. Higher values will zoom in, lower values will zoom out.

      This value does not influence the size on paper.

      Parameters:
      aZoom - the screen/paper zoom level to preview the printable at
      See Also:
    • setChangeZoomToShowAllPages

      public void setChangeZoomToShowAllPages(boolean aEnabled)
      Determines whether the preview should automatically change the zoom level to keep all pages on the screen.
      Parameters:
      aEnabled - true if the preview should adjust the zoom level to keep all pages visible
      See Also:
    • isChangeZoomToShowAllPages

      public boolean isChangeZoomToShowAllPages()
      Returns whether the preview should automatically change the zoom level to keep all pages on the screen.
      Returns:
      true if the preview should adjust the zoom level to keep all pages visible
      See Also:
    • getPageFormat

      public PageFormat getPageFormat()
      Returns the page format to visualize every page of the given printable in.
      Returns:
      the page format to visualize the given printable in
    • setPageFormat

      public void setPageFormat(PageFormat aPageFormat)
      Sets the page format to visualize every page of the given printable in.
      Parameters:
      aPageFormat - the page format to visualize the given printable in.
    • invalidatePrintable

      public void invalidatePrintable()
      Invalidates and repaints the preview panel. This method can be called if the printable has changed in some way.
    • getStringTranslator

      public ILcdStringTranslator getStringTranslator()

      Returns the ILcdStringTranslator set on this preview component.

      Returns:
      The translator set on this controller model. Never null.
    • setStringTranslator

      public void setStringTranslator(ILcdStringTranslator aStringTranslator)

      Sets the ILcdStringTranslator that this panel should use to translate the Strings that will be visible in the user interface.

      The following list of Strings are translated by the given instance:

      • "<html>Not generating preview as it might take a long time.<br>Only generate it if you are sure.</html>"
      • "Generate Preview"
      • "Print Preview"
      • "Cancel"
      • "Creating page {0} of {1}". The translated String is passed to a MessageFormat.
      • "Processing page {0} of {1}". The translated String is passed to a MessageFormat.
      Parameters:
      aStringTranslator - The ILcdStringTranslator that should be used. Must not be null.