## com.sun.pdfview
Class PDFViewer

    java.lang.Object
      java.awt.Component
          java.awt.Container
              java.awt.Window
                  java.awt.Frame
                      javax.swing.JFrame
                          com.sun.pdfview.PDFViewer

All Implemented Interfaces:
  PageChangeListener, java.awt.event.KeyListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.TreeSelectionListener, javax.swing.RootPaneContainer, javax.swing.WindowConstants

    public class PDFViewer

extends javax.swing.JFrame
implements java.awt.event.KeyListener, javax.swing.event.TreeSelectionListener, PageChangeListener

A demo PDF Viewer application.

See Also:
  Serialized Form

Nested Class Summary

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`

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
`static java.lang.String` `TITLE`

Fields inherited from class javax.swing.JFrame
`accessibleContext, EXIT_ON_CLOSE, 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 javax.swing.WindowConstants
`DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE`

Fields inherited from interface java.awt.image.ImageObserver
`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

Constructor Summary
`PDFViewer(boolean useThumbs)` Create a new PDFViewer based on a user, with or without a thumbnail panel.

Method Summary
`void` `doClose()` Close the current document.
`void` `doFirst()` Goes to the first page
`void` `doFitInWindow()` Turns off zooming; makes the page fit in the window
`void` `doFullScreen(boolean force)` Enter full screen mode
`void` `doLast()` Goes to the last page
`void` `doNext()` Goes to the next page
`void` `doOpen()` Ask the user for a PDF file to open from the local file system
`void` `doOpen(java.lang.String name)` Open a local file, given a string filename
`void` `doPageSetup()` Posts the Page Setup dialog
`void` `doPageTyped()` Goes to the page that was typed in the page number text field
`void` `doPrev()` Goes to the previous page
`void` `doPrint()` Print the current document.
`void` `doQuit()` Shuts down all known threads.
`void` `doThumbs(boolean show)` Shows or hides the thumbnails by moving the split pane divider
`void` `doZoom(double factor)`
`void` `doZoomTool()` Turns on zooming
`void` `forceGotoPage(int pagenum)` Changes the displayed page.
`javax.swing.Icon` `getIcon(java.lang.String name)` utility method to get an icon from the resources of this class
`void` `gotoPage(int pagenum)` Changes the displayed page, desyncing if we're not on the same page as a presenter.
`protected void` `init()` Initialize this PDFViewer by creating the GUI.
`void` `keyPressed(java.awt.event.KeyEvent evt)` Handle a key press for navigation
`void` `keyReleased(java.awt.event.KeyEvent evt)`
`void` `keyTyped(java.awt.event.KeyEvent evt)` gets key presses and tries to build a page if they're numeric
`static void` `main(java.lang.String[] args)`
`void` `openError(java.lang.String message)` Display a dialog indicating an error.
`void` `openFile(java.io.File file)` Open a specific pdf file.
`void` `openFile(java.net.URL url)` open a URL to a PDF file.
`void` `openFileUnMapped(java.io.File file)` Open a specific pdf file.
`void` `setEnabling()` Enable or disable all of the actions based on the current state.
`void` `setFullScreenMode(boolean full, boolean force)` Starts or ends full screen mode.
`void` `valueChanged(javax.swing.event.TreeSelectionEvent e)` Someone changed the selection of the outline tree.

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, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated`

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, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, 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, paint, 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, 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`

Methods inherited from interface java.awt.MenuContainer
`getFont, postEvent`

Field Detail

### TITLE

    public static final java.lang.String TITLE

See Also:
  Constant Field Values

Constructor Detail

### PDFViewer

    public PDFViewer(boolean useThumbs)

  Create a new PDFViewer based on a user, with or without a thumbnail panel.

  Parameters:
    `useThumbs` - true if the thumb panel should exist, false if not.

Method Detail

### getIcon

    public javax.swing.Icon getIcon(java.lang.String name)

  utility method to get an icon from the resources of this class

  Parameters:
    `name` - the name of the icon
  Returns:
    the icon, or null if the icon wasn't found.

### init

    protected void init()

  Initialize this PDFViewer by creating the GUI.

### gotoPage

    public void gotoPage(int pagenum)

  Changes the displayed page, desyncing if we're not on the same page as a presenter.

  Specified by:
    `gotoPage` in interface `PageChangeListener`
  Parameters:
    `pagenum` - the page to display

### forceGotoPage

    public void forceGotoPage(int pagenum)

  Changes the displayed page.

  Parameters:
    `pagenum` - the page to display

### setEnabling

    public void setEnabling()

  Enable or disable all of the actions based on the current state.

### openFile

    public void openFile(java.net.URL url)
                  throws java.io.IOException

  open a URL to a PDF file. The file is read in and processed with an in-memory buffer.

  Parameters:
    `url` -
  Throws:
    `java.io.IOException`

### openFile

    public void openFile(java.io.File file)
                  throws java.io.IOException

  Open a specific pdf file. Creates a DocumentInfo from the file, and opens that.

  Note: Mapping the file locks the file until the PDFFile is closed.

  Parameters:
    `file` - the file to open
  Throws:
    `java.io.IOException`

### openFileUnMapped

    public void openFileUnMapped(java.io.File file)
                          throws java.io.IOException

  Open a specific pdf file. Creates a DocumentInfo from the file, and opens that.

  Note: By not memory mapping the file its contents are not locked down while PDFFile is open.

  Parameters:
    `file` - the file to open
  Throws:
    `java.io.IOException`

### openError

    public void openError(java.lang.String message)

  Display a dialog indicating an error.

### doOpen

    public void doOpen()

  Ask the user for a PDF file to open from the local file system

### doOpen

    public void doOpen(java.lang.String name)

  Open a local file, given a string filename

  Parameters:
    `name` - the name of the file to open

### doPageSetup

    public void doPageSetup()

  Posts the Page Setup dialog

### doPrint

    public void doPrint()

  Print the current document.

### doClose

    public void doClose()

  Close the current document.

### doQuit

    public void doQuit()

  Shuts down all known threads. This ought to cause the JVM to quit if the PDFViewer is the only application running.

### doZoomTool

    public void doZoomTool()

  Turns on zooming

### doFitInWindow

    public void doFitInWindow()

  Turns off zooming; makes the page fit in the window

### doThumbs

    public void doThumbs(boolean show)

  Shows or hides the thumbnails by moving the split pane divider

### doFullScreen

    public void doFullScreen(boolean force)

  Enter full screen mode

  Parameters:
    `force` - true if the user should be prompted for a screen to use in a multiple-monitor setup. If false, the user will only be prompted once.

### doZoom

    public void doZoom(double factor)

### doNext

    public void doNext()

  Goes to the next page

### doPrev

    public void doPrev()

  Goes to the previous page

### doFirst

    public void doFirst()

  Goes to the first page

### doLast

    public void doLast()

  Goes to the last page

### doPageTyped

    public void doPageTyped()

  Goes to the page that was typed in the page number text field

### setFullScreenMode

    public void setFullScreenMode(boolean full,
                                  boolean force)

  Starts or ends full screen mode.

  Parameters:
    `full` - true to enter full screen mode, false to leave
    `force` - true if the user should be prompted for a screen to use the second time full screen mode is entered.

### main

    public static void main(java.lang.String[] args)

### keyPressed

    public void keyPressed(java.awt.event.KeyEvent evt)

  Handle a key press for navigation

  Specified by:
    `keyPressed` in interface `java.awt.event.KeyListener`

### keyReleased

    public void keyReleased(java.awt.event.KeyEvent evt)

  Specified by:
    `keyReleased` in interface `java.awt.event.KeyListener`

### keyTyped

    public void keyTyped(java.awt.event.KeyEvent evt)

  gets key presses and tries to build a page if they're numeric

  Specified by:
    `keyTyped` in interface `java.awt.event.KeyListener`

### valueChanged

    public void valueChanged(javax.swing.event.TreeSelectionEvent e)

  Someone changed the selection of the outline tree. Go to the new page.

  Specified by:
    `valueChanged` in interface `javax.swing.event.TreeSelectionListener`