|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.awt.Component java.awt.Container java.awt.Window java.awt.Dialog javax.swing.JDialog edu.northwestern.at.utils.swing.ModalDialog edu.northwestern.at.utils.swing.printing.PrintPreview
public class PrintPreview
Print Preview.
Creates a list of output page images which can be scrolled through. Suitable for print previewing documents of moderate size (~100 pages) as all the preview images are stored in memory. Each preview image requires about 90K-100K of memory. If your JVM has lots of available memory you can of course preview much larger documents.
A toolbar is placed above a scrolling pane which contains the page preview images. The toolbar allow for printing the page images, closing the print preview dialog, choosing the next or previous page for display, and choosing the scale factor to use when displaying the page images. You can also just scroll through the page images.
Based upon sample code written by Matthew Robinson and Pavel Vorobiev. Uses much less memory and displays preview images much more quickly than their original code. Also allows for a specified page format and provides a repagination dialog.
PrintPreview needs to be run from a separate thread so that the status dialogs will display correctly. The simplest way to do this is to use the static printPreview methods in the PrintUtilities class instead of creating a PrintPreview object directly.
Nested Class Summary | |
---|---|
(package private) class |
PrintPreview.PagePreview
Create page preview for one page of output. |
(package private) class |
PrintPreview.PreviewContainer
Container for array of print preview page images. |
Nested classes/interfaces inherited from class javax.swing.JDialog |
---|
javax.swing.JDialog.AccessibleJDialog |
Nested classes/interfaces inherited from class java.awt.Dialog |
---|
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType |
Nested classes/interfaces inherited from class java.awt.Window |
---|
java.awt.Window.AccessibleAWTWindow |
Nested classes/interfaces inherited from class java.awt.Container |
---|
java.awt.Container.AccessibleAWTContainer |
Nested classes/interfaces inherited from class java.awt.Component |
---|
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
Field Summary | |
---|---|
protected int |
defaultScale
Default page preview scale factor. |
protected java.awt.print.PageFormat |
pageFormat
The page format for printing. |
protected PrintPreview.PreviewContainer |
previewContainer
Holds list of print preview images for each page to print. |
protected java.awt.Component |
printableObject
The object to be printed. |
protected int |
printerPageHeight
Height of a page for printing purposes. |
protected int |
printerPageWidth
Width of a page for printing purposes. |
protected javax.swing.JComboBox |
scaleComboBox
Holds values for displaying scaled images of individual pages. |
protected javax.swing.JScrollPane |
scroller
Allows scrolling through list of print preview images. |
protected java.lang.String |
title
Title for printing. |
protected javax.swing.JToolBar |
toolBar
Holds toolbar of print preview buttons. |
Fields inherited from class edu.northwestern.at.utils.swing.ModalDialog |
---|
usePlatformPositionForDefaultButton |
Fields inherited from class javax.swing.JDialog |
---|
accessibleContext, rootPane, rootPaneCheckingEnabled |
Fields inherited from class java.awt.Dialog |
---|
DEFAULT_MODALITY_TYPE |
Fields inherited from class java.awt.Component |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
Fields inherited from interface javax.swing.WindowConstants |
---|
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE |
Fields inherited from interface java.awt.image.ImageObserver |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
---|---|
PrintPreview(java.awt.Component printableObject)
Create print preview for a printable object. |
|
PrintPreview(java.awt.Component printableObject,
java.awt.print.PageFormat pageFormat)
Create print preview for a printable object. |
|
PrintPreview(java.awt.Component printableObject,
java.awt.print.PageFormat thePageFormat,
java.lang.String title)
Create print preview for a printable object with a specified title. |
Method Summary | |
---|---|
protected void |
getPageImages()
Get preview page images. |
Methods inherited from class edu.northwestern.at.utils.swing.ModalDialog |
---|
add, add, add, add, add, addButton, addDefaultButton, fixDefaultButtonPosition, getUsePlatformPositionForDefaultButton, paintImmediately, setInitialFocus, setUsePlatformPositionForDefaultButton, setVisible, show, showUnpacked, showUnpacked |
Methods inherited from class javax.swing.JDialog |
---|
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update |
Methods inherited from class java.awt.Dialog |
---|
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setModalityType, setResizable, setTitle, setUndecorated, show, toBack |
Methods inherited from class java.awt.Window |
---|
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, toFront |
Methods inherited from class java.awt.Container |
---|
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree |
Methods inherited from class java.awt.Component |
---|
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected int printerPageWidth
protected int printerPageHeight
protected java.awt.Component printableObject
protected java.awt.print.PageFormat pageFormat
protected javax.swing.JComboBox scaleComboBox
protected PrintPreview.PreviewContainer previewContainer
protected javax.swing.JToolBar toolBar
protected javax.swing.JScrollPane scroller
protected int defaultScale
protected java.lang.String title
Constructor Detail |
---|
public PrintPreview(java.awt.Component printableObject)
printableObject
- The printable object.
Must implement Printable interface. public PrintPreview(java.awt.Component printableObject, java.awt.print.PageFormat pageFormat)
printableObject
- The printable object.
Must implement Printable interface.pageFormat
- The page format to use when laying
out the preview. public PrintPreview(java.awt.Component printableObject, java.awt.print.PageFormat thePageFormat, java.lang.String title)
printableObject
- The printable object.
Must implement Printable interface.thePageFormat
- The page format to use when laying
out the preview.title
- Title for print preview. Method Detail |
---|
protected void getPageImages()
Needs to be run in a separate thread so that the status dialogs work properly.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |