|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.faceless.pdf2.viewer2.DocumentViewport
org.faceless.pdf2.viewer2.MultiPageDocumentViewport
public class MultiPageDocumentViewport
A DocumentViewport
that displays all the pages of a PDF in one column
(or row) in the viewport. Navigating between pages is done by scrolling the viewport.
This code is copyright the Big Faceless Organization. You're welcome to use, modify and distribute it in any form in your own projects, provided those projects continue to make use of the Big Faceless PDF library.
DocumentPanel
,
Serialized FormNested Class Summary |
---|
Nested classes/interfaces inherited from class javax.swing.JPanel |
---|
JPanel.AccessibleJPanel |
Nested classes/interfaces inherited from class javax.swing.JComponent |
---|
JComponent.AccessibleJComponent |
Nested classes/interfaces inherited from class java.awt.Container |
---|
Container.AccessibleAWTContainer |
Nested classes/interfaces inherited from class java.awt.Component |
---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy |
Field Summary |
---|
Fields inherited from class org.faceless.pdf2.viewer2.DocumentViewport |
---|
CURSOR_GRAB, CURSOR_GRABBING, mouseWheelUnit, ZOOM_FIT, ZOOM_FITHEIGHT, ZOOM_FITWIDTH, ZOOM_NONE |
Fields inherited from class javax.swing.JComponent |
---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
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 |
Constructor Summary | |
---|---|
MultiPageDocumentViewport()
Constructs a new MultiPageDocumentViewport with a vertical orientation. |
|
MultiPageDocumentViewport(int orientation)
Constructs a new multi-page document viewport with the specified orientation. |
Method Summary | |
---|---|
void |
addPagePanelInteractionListener(PagePanelInteractionListener listener)
Add a PagePanelInteractionListener to any PagePanel objects that have been
or will be created by this DocumentViewport |
void |
addPagePanelListener(PagePanelListener listener)
Add a PagePanelListener to any PagePanel objects that have been
or will be created by this DocumentViewport |
void |
ensureVisible(PDFPage page,
double x,
double y)
Ensure the specified point on the page is visible. |
Adjustable |
getAdjustable(int position)
Return the "Adjustable" object for the specified position - typically this is the horizontal or vertical JScrollBar , although this method may
return null or accept other parameters. |
PagePanel |
getPagePanel()
Get the currently displayed PagePanel. |
Collection |
getPagePanels()
Returns a read only Collection containing all the PagePanels currently displayed in this Viewport. |
PDFPage |
getRenderingPage()
Return the page that is currently in the process of rendering. |
float |
getTargetZoom(int zoommode,
PDFPage page)
Return the appropriate zoom level when switching to the specified page. |
JComponent |
getView()
Get the JComponent that directly contains the PagePanel objects, not including scrollbars or other similar items. |
Dimension |
getViewportSize()
Return the size in pixels of the space available to display pages in this viewport, not including scrollbars or other decoration |
float |
getZoom()
Get the current zoom level |
boolean |
isDraggable()
Indicates whether the contents of this viewport can be dragged with the mouse to position them. |
boolean |
isPageVisible(PDFPage page,
double x,
double y)
Indicates whether the specified point in the specified page is visible in the viewport. |
void |
propertyChange(PropertyChangeEvent event)
The viewport implements PropertyChangeListener, and will be called whenever the PDF has been updated. |
void |
removePagePanelInteractionListener(PagePanelInteractionListener listener)
Remove a PagePanelInteractionListener from any PagePanel objects
that have been created by this DocumentViewport |
void |
removePagePanelListener(PagePanelListener listener)
Remove a PagePanelListener from any PagePanel objects that have been
created by this DocumentViewport |
void |
setAdjustableValues(int horizontal,
int vertical)
Set the values of the adjustables returned by DocumentViewport.getAdjustable(int) . |
void |
setDocumentPanel(DocumentPanel panel)
Set the DocumentPanel that contains this DocumentViewport. |
void |
setDraggable(boolean draggable)
Sets whether to allow the contents of this viewport to be dragged with the mouse. |
void |
setPage(PDFPage page,
double x,
double y,
double zoom)
Set the currently displayed page. |
void |
setRenderingHints(RenderingHints hints)
Set the RenderingHints that should be used when rendering the pages |
void |
setZoom(float zoom)
Set the zoom level of this DocumentViewport. |
void |
setZoomMode(int zoommode)
Control how the document in the viewport is redrawn when the Viewport is resized. |
Methods inherited from class org.faceless.pdf2.viewer2.DocumentViewport |
---|
getDefaultRenderingHints, getDocumentPanel, getPage, getZoomMode, isSmoothScrolling, smoothScroll |
Methods inherited from class javax.swing.JPanel |
---|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public MultiPageDocumentViewport()
public MultiPageDocumentViewport(int orientation)
orientation
- Adjustable.VERTICAL or Adjustable.HORIZONTALMethod Detail |
---|
public void setDocumentPanel(DocumentPanel panel)
DocumentViewport
super.setDocumentPanel(panel)
setDocumentPanel
in class DocumentViewport
public boolean isDraggable()
DocumentViewport
isDraggable
in class DocumentViewport
public void setDraggable(boolean draggable)
DocumentViewport
setDraggable
in class DocumentViewport
draggable
- if true, contents may be draggedpublic void setPage(PDFPage page, double x, double y, double zoom)
DocumentViewport
setPage
in class DocumentViewport
page
- the page to displayx
- the left-most X position of the page, relative to PagePanel.getFullPageView(org.faceless.pdf2.PDFPage)
. A value of NaN means keep the current valuey
- the top-most Y position of the page, relative to PagePanel.getFullPageView(org.faceless.pdf2.PDFPage)
. A value of NaN means keep the current valuezoom
- the zoom level. A value of <= 0 or NaN means keep the current zoom. A value of one means 72dpipublic void ensureVisible(PDFPage page, double x, double y)
DocumentViewport
ensureVisible
in class DocumentViewport
x
- the X position of the page in absolute PDF points (ie measured from the bottom left)y
- the Y position of the page in absolute PDF points (ie measured from the bottom left)public boolean isPageVisible(PDFPage page, double x, double y)
DocumentViewport
x
or y
is
NaN
, indicates whether any part of the page is visible.
isPageVisible
in class DocumentViewport
x
- the X position of the page in pointsy
- the Y position of the page in pointspublic JComponent getView()
DocumentViewport
getView
in class DocumentViewport
public float getZoom()
DocumentViewport
getZoom
in class DocumentViewport
public void setZoom(float zoom)
DocumentViewport
setZoom
in class DocumentViewport
public Dimension getViewportSize()
DocumentViewport
getViewportSize
in class DocumentViewport
public PagePanel getPagePanel()
DocumentViewport
setPage()
, the exact
implementation of this method depends on the type of viewport, but the idea is
it returns the PagePanel that is the primary focus of this viewport.
getPagePanel
in class DocumentViewport
public Collection getPagePanels()
DocumentViewport
getPagePanels
in class DocumentViewport
public PDFPage getRenderingPage()
DocumentViewport
DocumentViewport.getPage()
getRenderingPage
in class DocumentViewport
public Adjustable getAdjustable(int position)
DocumentViewport
JScrollBar
, although this method may
return null
or accept other parameters. The adjustable is
measured in AWT space (pixels from the top left). This method may return
null if there is no adjustable.
getAdjustable
in class DocumentViewport
position
- one of Adjustable.HORIZONTAL
or Adjustable.VERTICAL
public void setAdjustableValues(int horizontal, int vertical)
DocumentViewport
DocumentViewport.getAdjustable(int)
.
Calling this method is preferable to setting the values of each adjustable
individually when both are to be set
setAdjustableValues
in class DocumentViewport
horizontal
- the value for the Adjustable.HORIZONTAL
adjustable.vertical
- the value for the Adjustable.VERTICAL
adjustable.public void setRenderingHints(RenderingHints hints)
DocumentViewport
RenderingHints
that should be used when rendering the pages
setRenderingHints
in class DocumentViewport
public void addPagePanelListener(PagePanelListener listener)
DocumentViewport
PagePanelListener
to any PagePanel
objects that have been
or will be created by this DocumentViewport
addPagePanelListener
in class DocumentViewport
listener
- the listenerpublic void removePagePanelListener(PagePanelListener listener)
DocumentViewport
PagePanelListener
from any PagePanel
objects that have been
created by this DocumentViewport
removePagePanelListener
in class DocumentViewport
listener
- the listenerpublic void addPagePanelInteractionListener(PagePanelInteractionListener listener)
DocumentViewport
PagePanelInteractionListener
to any PagePanel
objects that have been
or will be created by this DocumentViewport
addPagePanelInteractionListener
in class DocumentViewport
listener
- the listenerpublic void removePagePanelInteractionListener(PagePanelInteractionListener listener)
DocumentViewport
PagePanelInteractionListener
from any PagePanel
objects
that have been created by this DocumentViewport
removePagePanelInteractionListener
in class DocumentViewport
listener
- the listenerpublic void setZoomMode(int zoommode)
DocumentViewport
DocumentViewport.ZOOM_NONE
, which means no action is performed, but other
actions include DocumentViewport.ZOOM_FIT
, DocumentViewport.ZOOM_FITWIDTH
and DocumentViewport.ZOOM_FITHEIGHT
,
which will ensure that the document is always zoomed to fit completely, fit the width
or fit the height of the viewport respectively
setZoomMode
in class DocumentViewport
public float getTargetZoom(int zoommode, PDFPage page)
DocumentViewport
zoommode
is DocumentViewport.ZOOM_NONE
then this
just returns the value of DocumentViewport.getZoom()
, otherwise the returned zoom level
will correctly fit the page to the Viewport.
getTargetZoom
in class DocumentViewport
page
- the PDFPage that we are calculating the zoom for.DocumentViewport.getZoomMode()
public void propertyChange(PropertyChangeEvent event)
DocumentViewport
propertyChange
in interface PropertyChangeListener
propertyChange
in class DocumentViewport
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |