Class PreviewDialog

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, StatusListener

    public class PreviewDialog
    extends javax.swing.JFrame
    implements StatusListener
    AWT Viewer main window. Surrounds a PreviewPanel with a bunch of pretty buttons and controls.
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private class  PreviewDialog.ShowInfo
      This class is used to show info in a thread safe way.
      private class  PreviewDialog.ShowStatus
      This class is used to show status in a thread safe way.
      • Nested classes/interfaces inherited from class javax.swing.JFrame

        javax.swing.JFrame.AccessibleJFrame
      • Nested classes/interfaces inherited from class java.awt.Frame

        java.awt.Frame.AccessibleAWTFrame
      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • 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

      Fields 
      Modifier and Type Field Description
      protected float configuredTargetResolution
      The originally configured target resolution
      protected FOUserAgent foUserAgent
      The FOUserAgent associated with this window
      private javax.swing.JLabel infoStatus
      The JLabel information status bar
      private java.text.DecimalFormat percentFormat
      Formats the text in the scale combobox.
      private PreviewPanel previewPanel
      The main display area
      private javax.swing.JLabel processStatus
      The JLabel for the process status bar
      protected Renderable renderable
      Renderable instance that can be used to reload and re-render a document after modifications.
      protected AWTRenderer renderer
      The AWT renderer
      private javax.swing.JComboBox scale
      The JCombobox to rescale the rendered page view
      protected Translator translator
      The Translator for localization
      • Fields inherited from class javax.swing.JFrame

        accessibleContext, rootPane, rootPaneCheckingEnabled
      • Fields inherited from class java.awt.Frame

        CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
      • Fields inherited from class java.awt.Component

        BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
      • Fields inherited from interface javax.swing.WindowConstants

        DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static PreviewDialog createPreviewDialog​(FOUserAgent foUserAgent, Renderable renderable, boolean asMainWindow)
      Creates and initialize the AWT Viewer main window.
      void goToFirstPage()
      Shows the first page.
      void goToLastPage()
      Shows the last page.
      void goToNextPage()
      Shows the next page.
      void goToPage​(int number)
      Changes the current visible page
      void goToPreviousPage()
      Shows the previous page.
      void notifyPageRendered()
      Updates the message to be shown in the info bar in a thread safe way.
      void notifyRendererStopped()
      Called when the renderer has stopped.
      private void reload()  
      void reportException​(java.lang.Exception e)
      Opens standard Swing error dialog box and reports given exception details.
      private void scaleActionPerformed​(java.awt.event.ActionEvent e)  
      void setScale​(double scaleFactor)
      Scales page image.
      void setScaleToFitWidth()
      Sets the scaling so the contents are spread over the whole width available.
      void setScaleToFitWindow()
      Sets the scaling so the contents fit into the window.
      void setStatus​(java.lang.String message)
      Sets message to be shown in the status bar in a thread safe way.
      private javax.swing.JMenuBar setupMenu()
      Creates a new menubar to be shown in this window.
      private void showGoToPageDialog()
      Shows "go to page" dialog and then goes to the selected page
      private void startHelpAbout()
      Shows the About box
      void startPrinterJob​(boolean showDialog)
      Prints the document.
      • Methods inherited from class javax.swing.JFrame

        addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
      • Methods inherited from class java.awt.Frame

        addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
      • Methods inherited from class java.awt.Window

        addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, 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, 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, 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, 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, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.awt.MenuContainer

        getFont, postEvent
    • Field Detail

      • translator

        protected Translator translator
        The Translator for localization
      • renderer

        protected AWTRenderer renderer
        The AWT renderer
      • foUserAgent

        protected FOUserAgent foUserAgent
        The FOUserAgent associated with this window
      • configuredTargetResolution

        protected float configuredTargetResolution
        The originally configured target resolution
      • renderable

        protected Renderable renderable
        Renderable instance that can be used to reload and re-render a document after modifications.
      • scale

        private javax.swing.JComboBox scale
        The JCombobox to rescale the rendered page view
      • processStatus

        private javax.swing.JLabel processStatus
        The JLabel for the process status bar
      • infoStatus

        private javax.swing.JLabel infoStatus
        The JLabel information status bar
      • previewPanel

        private PreviewPanel previewPanel
        The main display area
      • percentFormat

        private java.text.DecimalFormat percentFormat
        Formats the text in the scale combobox.
    • Constructor Detail

      • PreviewDialog

        public PreviewDialog​(FOUserAgent foUserAgent,
                             Renderable renderable)
        Creates a new PreviewDialog that uses the given renderer.
        Parameters:
        foUserAgent - the user agent
        renderable - the Renderable instance that is used to reload/re-render a document after modifications.
      • PreviewDialog

        public PreviewDialog​(FOUserAgent foUserAgent)
        Creates a new PreviewDialog that uses the given renderer.
        Parameters:
        foUserAgent - the user agent
    • Method Detail

      • createPreviewDialog

        public static PreviewDialog createPreviewDialog​(FOUserAgent foUserAgent,
                                                        Renderable renderable,
                                                        boolean asMainWindow)
        Creates and initialize the AWT Viewer main window.
        Parameters:
        foUserAgent - the FO user agent
        renderable - the target for the rendering
        asMainWindow - true if the window shall act as the main application window.
        Returns:
        the newly initialized preview dialog
      • setupMenu

        private javax.swing.JMenuBar setupMenu()
        Creates a new menubar to be shown in this window.
        Returns:
        the newly created menubar
      • reload

        private void reload()
      • goToPage

        public void goToPage​(int number)
        Changes the current visible page
        Parameters:
        number - the page number to go to
      • goToPreviousPage

        public void goToPreviousPage()
        Shows the previous page.
      • goToNextPage

        public void goToNextPage()
        Shows the next page.
      • goToFirstPage

        public void goToFirstPage()
        Shows the first page.
      • goToLastPage

        public void goToLastPage()
        Shows the last page.
      • startHelpAbout

        private void startHelpAbout()
        Shows the About box
      • showGoToPageDialog

        private void showGoToPageDialog()
        Shows "go to page" dialog and then goes to the selected page
      • setScale

        public void setScale​(double scaleFactor)
        Scales page image.
        Parameters:
        scaleFactor - the scale factor
      • setScaleToFitWindow

        public void setScaleToFitWindow()
        Sets the scaling so the contents fit into the window.
      • setScaleToFitWidth

        public void setScaleToFitWidth()
        Sets the scaling so the contents are spread over the whole width available.
      • scaleActionPerformed

        private void scaleActionPerformed​(java.awt.event.ActionEvent e)
      • startPrinterJob

        public void startPrinterJob​(boolean showDialog)
        Prints the document.
        Parameters:
        showDialog - true if show dialog
      • setStatus

        public void setStatus​(java.lang.String message)
        Sets message to be shown in the status bar in a thread safe way.
        Parameters:
        message - the message
      • notifyPageRendered

        public void notifyPageRendered()
        Updates the message to be shown in the info bar in a thread safe way.
        Specified by:
        notifyPageRendered in interface StatusListener
      • reportException

        public void reportException​(java.lang.Exception e)
        Opens standard Swing error dialog box and reports given exception details.
        Parameters:
        e - the Exception