Package adams.gui.visualization.pdf
Class PDFViewerPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- adams.gui.core.BasePanel
-
- adams.gui.visualization.pdf.PDFViewerPanel
-
- All Implemented Interfaces:
MenuBarProvider,SendToActionSupporter,ImageObserver,MenuContainer,Serializable,Accessible
public class PDFViewerPanel extends BasePanel implements MenuBarProvider, SendToActionSupporter
A basic PDF viewer.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPDFViewerPanel.MultiPagePaneA specialized tabbed pane with a few methods for easier access.-
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 Modifier and Type Field Description protected BaseFileChooserm_FileChooserthe filedialog for loading CSV files.protected JMenuBarm_MenuBarthe menu bar, if used.protected JMenuItemm_MenuItemFileClosethe "close" menu item.protected JMenuItemm_MenuItemFileExitthe "exit" menu item.protected JMenuItemm_MenuItemFileOpenthe "open" menu item.protected JMenum_MenuItemFileOpenRecentthe "load recent" submenu.protected JMenuItemm_MenuItemFilePrintthe "print" menu item.protected AbstractPDFViewerActionm_MenuItemToolsExtractImagesthe "extract images" menu item.protected AbstractPDFViewerActionm_MenuItemToolsExtractPagesthe "extract pages" menu item.protected AbstractPDFViewerActionm_MenuItemToolsExtractTextthe "extract text" menu item.protected PDFViewerPanel.MultiPagePanem_MultiPagePanethe multipage pane for displaying the PDF files.protected static Propertiesm_Propertiesthe properties.protected RecentFilesHandler<JMenu>m_RecentFilesHandlerthe recent files handler.protected List<AbstractPDFViewerAction>m_ViewerActionsthe menu item actions.static StringSESSION_FILEthe file to store the recent files in.-
Fields inherited from class javax.swing.JComponent
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
accessibleContext, 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
Constructors Constructor Description PDFViewerPanel()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidclose()Closes the dialog or frame.protected voidcloseFile()Closes the current active tab.PDFPanelgetCurrentPanel()Returns the image panel in the currently selected tab.protected BaseFileChoosergetFileChooser()Returns the file chooser and creates it if necessary.JMenuBargetMenuBar()Creates a menu bar (singleton per panel object).Class[]getSendToClasses()Returns the class that the supporter generates.ObjectgetSendToItem(Class[] cls)Returns the object to send.booleanhasSendToItem(Class[] cls)Checks whether something to send is available.protected voidinitGUI()Initializes the widgets.protected voidinitialize()Initializes the members.voidload(byte[] data)Loads the specified PDF document.voidload(byte[] data, String desc)Loads the specified PDF document.voidload(File file)Loads the specified PDF file.static StringnewDescriptionIfNecessary(String desc)Creates a new description if necessary (new+INT).protected voidopen()Opens one or more CSV files.protected voidprintFile()Prints the current active tab.protected voidupdateMenu()updates the enabled state of the menu items.protected voidzoom(int zoom)Zooms in/out.-
Methods inherited from class adams.gui.core.BasePanel
afterHide, afterShow, beforeHide, beforeShow, closeParent, finishInit, getParentChild, getParentDialog, getParentFrame, getParentInternalFrame, getParentTitle, initFileChooser, main, printErrorMessage, printException, saveComponent, setEnabledCascade, setEnabledCascade, setParentTitle, setVisible
-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
SESSION_FILE
public static final String SESSION_FILE
the file to store the recent files in.- See Also:
- Constant Field Values
-
m_Properties
protected static Properties m_Properties
the properties.
-
m_MultiPagePane
protected PDFViewerPanel.MultiPagePane m_MultiPagePane
the multipage pane for displaying the PDF files.
-
m_MenuBar
protected JMenuBar m_MenuBar
the menu bar, if used.
-
m_MenuItemFileOpen
protected JMenuItem m_MenuItemFileOpen
the "open" menu item.
-
m_MenuItemFileOpenRecent
protected JMenu m_MenuItemFileOpenRecent
the "load recent" submenu.
-
m_MenuItemFileClose
protected JMenuItem m_MenuItemFileClose
the "close" menu item.
-
m_MenuItemFilePrint
protected JMenuItem m_MenuItemFilePrint
the "print" menu item.
-
m_MenuItemFileExit
protected JMenuItem m_MenuItemFileExit
the "exit" menu item.
-
m_MenuItemToolsExtractPages
protected AbstractPDFViewerAction m_MenuItemToolsExtractPages
the "extract pages" menu item.
-
m_MenuItemToolsExtractText
protected AbstractPDFViewerAction m_MenuItemToolsExtractText
the "extract text" menu item.
-
m_MenuItemToolsExtractImages
protected AbstractPDFViewerAction m_MenuItemToolsExtractImages
the "extract images" menu item.
-
m_ViewerActions
protected List<AbstractPDFViewerAction> m_ViewerActions
the menu item actions.
-
m_FileChooser
protected transient BaseFileChooser m_FileChooser
the filedialog for loading CSV files.
-
m_RecentFilesHandler
protected RecentFilesHandler<JMenu> m_RecentFilesHandler
the recent files handler.
-
-
Method Detail
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initializein classBasePanel
-
getFileChooser
protected BaseFileChooser getFileChooser()
Returns the file chooser and creates it if necessary.
-
getMenuBar
public JMenuBar getMenuBar()
Creates a menu bar (singleton per panel object). Can be used in frames.- Specified by:
getMenuBarin interfaceMenuBarProvider- Returns:
- the menu bar
-
getCurrentPanel
public PDFPanel getCurrentPanel()
Returns the image panel in the currently selected tab.- Returns:
- the image panel, null if none available
-
updateMenu
protected void updateMenu()
updates the enabled state of the menu items.
-
open
protected void open()
Opens one or more CSV files.
-
load
public void load(File file)
Loads the specified PDF file.- Parameters:
file- the file to load
-
load
public void load(byte[] data)
Loads the specified PDF document.- Parameters:
data- the data of the document to load
-
load
public void load(byte[] data, String desc)Loads the specified PDF document.- Parameters:
data- the data of the document to loaddesc- the description for the document, can be null
-
closeFile
protected void closeFile()
Closes the current active tab.
-
printFile
protected void printFile()
Prints the current active tab.
-
close
protected void close()
Closes the dialog or frame.
-
zoom
protected void zoom(int zoom)
Zooms in/out.- Parameters:
zoom- the zoom (in percent)
-
getSendToClasses
public Class[] getSendToClasses()
Returns the class that the supporter generates.- Specified by:
getSendToClassesin interfaceSendToActionSupporter- Returns:
- the class
-
hasSendToItem
public boolean hasSendToItem(Class[] cls)
Checks whether something to send is available.- Specified by:
hasSendToItemin interfaceSendToActionSupporter- Parameters:
cls- the requested classes- Returns:
- true if an object is available for sending
-
getSendToItem
public Object getSendToItem(Class[] cls)
Returns the object to send.- Specified by:
getSendToItemin interfaceSendToActionSupporter- Parameters:
cls- the requested classes- Returns:
- the item to send
-
-