|
||||||||||
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.PDFViewer
public class PDFViewer
The PDFViewer
class is a simple Swing PDF viewer application.
It demonstrates the DocumentPanel
class, and can be run directly
from the JAR (via the PDFTool
class) like so.
java -jar bfopdf.jar filenameThe filename argument is optional, but if supplied will load the specified PDF. See the viewer tutorial for more detail on how to use this class and the "viewer" package.
currentUser | The name of the current user - optional, but if set this will be set as the author field on any annotations created by the user |
---|---|
unpromptedDirtyClose | Whether to prompt the user for confirmation when closing a window containng a PDF that has been modified |
dpi | The resolution of the screen. This can be set to override Toolkit.getScreenResolution() if required |
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.
Nested 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 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 | |
---|---|
PDFViewer(Collection features)
Creates new PDFViewer with the specified features |
Method Summary | |
---|---|
void |
addDocumentPanelListener(DocumentPanelListener listener)
Add a DocumentPanelListener to any DocumentPanel objects
created by this PDFViewer. |
void |
close()
Close the PDFViewer. |
void |
closeDocumentPanel(DocumentPanel panel)
Close the specified DocumentPanel |
DocumentPanel |
getActiveDocumentPanel()
Return the active DocumentPanel |
String |
getCurrentUser()
Get the name of the current user, as set by setCurrentUser(java.lang.String) |
DocumentPanel[] |
getDocumentPanels()
Return all the DocumentPanel s in the viewer |
ViewerFeature |
getFeature(Class clazz)
Return the specified ViewerFeature , or null
if it doesn't exist for this viewer |
ViewerFeature |
getFeature(String feature)
Return the specified ViewerFeature , or null
if it doesn't exist for this viewer |
ViewerFeature[] |
getFeatures()
Return the list of all features set in the viewer |
JSManager |
getJSManager()
Return the JSManager object for this PDFViewer. |
KeyStoreManager |
getKeyStoreManager()
Get the KeyStoreManager in use by this PDFViewer |
JMenu |
getMenu(String name)
Return the specified Menu. |
JComponent |
getNamedComponent(String name)
Return a Component created by a ViewerFeature |
Preferences |
getPreferences()
Return the Preferences object that should be used to store user preferences
about the viewer, or null if preferences cannot be saved. |
PropertyManager |
getPropertyManager()
Get the PropertyManager in use by this PDFViewer |
boolean |
getUnpromptedDirtyClose()
Return the value set by setUnpromptedDirtyClose(boolean) |
boolean |
hasFeature(String feature)
Return true if the Viewer has a certain feature enabled. |
boolean |
hasFeature(ViewerFeature feature)
Return true if the Viewer has a certain feature enabled. |
void |
loadPDF(File ffile)
Load a PDF into the viewer from a file. |
void |
loadPDF(File file,
EncryptionHandler handler)
Deprecated. this method has been superceded by the PDFImporter class |
void |
loadPDF(File ffile,
EncryptionHandler[] handlers)
Deprecated. this method has been superceded by the PDFImporter class |
void |
loadPDF(File ffile,
int pagenumber)
Load a PDF into the viewer from a file. |
void |
loadPDF(InputStream in,
EncryptionHandler[] handlers,
String title,
File file)
Deprecated. this method has been superceded by the PDFImporter class |
void |
loadPDF(PDFParser parser,
String name)
Load a pre-loaded PDF into the viewer. |
void |
loadPDF(PDFParser parser,
String name,
int pagenumber)
Load a pre-loaded PDF into the viewer. |
void |
loadPDF(PDF pdf,
String name)
Load a pre-loaded PDF into the viewer. |
static void |
main(String[] args)
The main() method can be invoked to run this class from the command line. |
static PDFViewer |
newPDFViewer()
Create a new PDFViewer object in a frame of it's own. |
static PDFViewer |
newPDFViewer(Collection features)
Create a new PDFViewer object in a frame of it's own with the specified features. |
void |
putNamedComponent(String name,
JComponent value)
Add a named component to the viewers list |
void |
removeDocumentPanelListener(DocumentPanelListener listener)
Add a DocumentPanelListener to any DocumentPanel objects
created by this PDFViewer. |
void |
setCurrentUser(String user)
Set the name of the current user (for Annotations). |
void |
setKeyStoreManager(KeyStoreManager manager)
Set the KeyStoreManager used by this PDFViewer |
JMenuItem |
setMenu(String name,
char mnemonic,
boolean documentrequired,
ActionListener listener)
Add or replace a menu item in the viewer. |
void |
setPropertyManager(PropertyManager manager)
Set the PropertyManager in use by this PDFViewer |
void |
setUnpromptedDirtyClose(boolean ignore)
Set whether to allow a window containing a modified PDF to be closed without prompting. |
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 PDFViewer(Collection features)
features
- a Collection of ViewerFeature
objects that are enabledViewerFeature
Method Detail |
---|
public Preferences getPreferences()
Preferences
object that should be used to store user preferences
about the viewer, or null
if preferences cannot be saved.
public JSManager getJSManager()
public final void setPropertyManager(PropertyManager manager)
PropertyManager
in use by this PDFViewer
public final PropertyManager getPropertyManager()
PropertyManager
in use by this PDFViewer
public KeyStoreManager getKeyStoreManager()
KeyStoreManager
in use by this PDFViewer
public void setKeyStoreManager(KeyStoreManager manager)
KeyStoreManager
used by this PDFViewer
public boolean hasFeature(ViewerFeature feature)
feature
- the feature to look forpublic boolean hasFeature(String feature)
feature
- the name of the feature to look forpublic ViewerFeature[] getFeatures()
public ViewerFeature getFeature(String feature)
ViewerFeature
, or null
if it doesn't exist for this viewer
public ViewerFeature getFeature(Class clazz)
ViewerFeature
, or null
if it doesn't exist for this viewer
clazz
- the Class of the ViewerFeature.public JMenuItem setMenu(String name, char mnemonic, boolean documentrequired, ActionListener listener)
name
- the name of the menu, if the form "File\tOpen" or "File\tQuit(999)". The tab character is used to separate
the items in the menu hierarchy, and the optional bracked value is used to control ordering in the menu.mnemonic
- the mnemonic to assign to this menu - lowercase or uppercase letter, or (char)0
for no mnenonicdocumentrequired
- whether this menu item should only be enabled if a document is loadedlistener
- the ActionListener to run when this menu item is activatedpublic JMenu getMenu(String name)
name
- the name of the Menu, before it's been localizedpublic void putNamedComponent(String name, JComponent value)
public JComponent getNamedComponent(String name)
ViewerFeature
public void loadPDF(File ffile)
Importer
objects in order until it finds one that matches the file,
then will use that to load the PDF into the viewer. Prompting for passwords
etc. is left to the appropriate Importer
- see the PDFImporter
class for details on the default behaviour.
ffile
- the PDF file to load, or null
to select it with a chooserpublic void loadPDF(File ffile, int pagenumber)
Importer
objects in order until it finds one that matches the file,
then will use that to load the PDF into the viewer. Prompting for passwords
etc. is left to the appropriate Importer
- see the PDFImporter
class for details on the default behaviour.
ffile
- the PDF file to load, or null
to select it with a chooserpagenumber
- the initial page number to request. May be overriddenpublic void loadPDF(File file, EncryptionHandler handler)
PDFImporter
class
PDFImporter
passed in to the
PDF Constructor.
file
- the PDF Filehandler
- the EncryptionHandler to usepublic void loadPDF(File ffile, EncryptionHandler[] handlers)
PDFImporter
class
PDFImporter
passed in to the
PDF Constructor.
ffile
- the PDF Filehandlers
- the list of EncryptionHandlerspublic void loadPDF(InputStream in, EncryptionHandler[] handlers, String title, File file)
PDFImporter
class
This method is now deprecated - the correct way to load a PDF from an
InputStream is to call the Importer.getImporter(PDFViewer, InputStream, String, File)
method. For example:
PDFImporter importer = (PDFImporter)viewer.getFeature(PDFImporter.class); importer.getImporter(viewer, inputstream, title, file).start(viewer, "Loading");
in
- the InputStream to load the PDF fromhandlers
- the EncryptionHandlers to use to try to decrypt the PDFtitle
- The name of the Window. May be null.file
- If using a save dialog, the initial value to set the dialog to. May be null.public void loadPDF(PDF pdf, String name)
loadPDF(new PDFParser(pdf), name)
.
pdf
- the PDF to loadname
- the name of the PDF, to display in the title bar.public void loadPDF(PDFParser parser, String name)
parser
- the PDFParser referencing the PDF to loadname
- the name of the PDF, to display in the title bar.public void loadPDF(PDFParser parser, String name, int pagenumber)
parser
- the PDFParser referencing the PDF to loadname
- the name of the PDF, to display in the title bar.pagenumber
- the initial page to open the PDF atpublic DocumentPanel getActiveDocumentPanel()
DocumentPanel
public DocumentPanel[] getDocumentPanels()
DocumentPanel
s in the viewer
public void close()
public void closeDocumentPanel(DocumentPanel panel)
DocumentPanel
panel
- the panel to close - usually the return value of getActiveDocumentPanel()
public void addDocumentPanelListener(DocumentPanelListener listener)
DocumentPanelListener
to any DocumentPanel
objects
created by this PDFViewer.
public void removeDocumentPanelListener(DocumentPanelListener listener)
DocumentPanelListener
to any DocumentPanel
objects
created by this PDFViewer.
public static PDFViewer newPDFViewer()
public static PDFViewer newPDFViewer(Collection features)
features
- a Collection of ViewerFeature
objects that are to be supportedViewerFeature
public static void main(String[] args)
public void setCurrentUser(String user)
currentUser
initialization parameter
public String getCurrentUser()
setCurrentUser(java.lang.String)
public void setUnpromptedDirtyClose(boolean ignore)
unpromptedDirtyClose
initialization parameter
public boolean getUnpromptedDirtyClose()
setUnpromptedDirtyClose(boolean)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |