Package nl.siegmann.epublib.viewer
Class ContentPane
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- nl.siegmann.epublib.viewer.ContentPane
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible,javax.swing.event.HyperlinkListener,NavigationEventListener
public class ContentPane extends javax.swing.JPanel implements NavigationEventListener, javax.swing.event.HyperlinkListener
Displays a page- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description private ResourcecurrentResourceprivate javax.swing.JEditorPaneeditorPaneprivate HTMLDocumentFactoryhtmlDocumentFactoryprivate static org.slf4j.Loggerlogprivate Navigatornavigatorprivate javax.swing.JScrollPanescrollPaneprivate static longserialVersionUID-
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
-
-
Constructor Summary
Constructors Constructor Description ContentPane(Navigator navigator)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.StringcalculateTargetHref(java.net.URL clickUrl)Transforms a link generated by a click on a link in a document to a resource href.private javax.swing.JEditorPanecreateJEditorPane()voiddisplayPage(Resource resource)voiddisplayPage(Resource resource, int sectionPos)voidgotoNextPage()voidgotoPreviousPage()voidhyperlinkUpdate(javax.swing.event.HyperlinkEvent event)private voidinitBook(Book book)private static booleanmatchesAny(java.lang.String searchString, java.lang.String... possibleValues)Whether the given searchString matches any of the possibleValues.voidnavigationPerformed(NavigationEvent navigationEvent)Called whenever the user navigates to another position in the book.private voidscrollToCurrentPosition(int sectionPos)private static voidscrollToElement(javax.swing.JEditorPane editorPane, javax.swing.text.html.HTMLDocument.Iterator elementIterator)Scrolls the editorPane to the startOffset of the current element in the elementIteratorprivate voidscrollToNamedAnchor(java.lang.String fragmentId)Scrolls the editorPane to the first anchor element whose id or name matches the given fragmentId.-
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, setVisible, 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
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
log
private static final org.slf4j.Logger log
-
navigator
private Navigator navigator
-
currentResource
private Resource currentResource
-
editorPane
private javax.swing.JEditorPane editorPane
-
scrollPane
private javax.swing.JScrollPane scrollPane
-
htmlDocumentFactory
private HTMLDocumentFactory htmlDocumentFactory
-
-
Constructor Detail
-
ContentPane
public ContentPane(Navigator navigator)
-
-
Method Detail
-
initBook
private void initBook(Book book)
-
matchesAny
private static boolean matchesAny(java.lang.String searchString, java.lang.String... possibleValues)Whether the given searchString matches any of the possibleValues.- Parameters:
searchString-possibleValues-- Returns:
- Whether the given searchString matches any of the possibleValues.
-
scrollToElement
private static void scrollToElement(javax.swing.JEditorPane editorPane, javax.swing.text.html.HTMLDocument.Iterator elementIterator)Scrolls the editorPane to the startOffset of the current element in the elementIterator- Parameters:
requestFragmentId-attributeValue-editorPane-elementIterator-
-
scrollToNamedAnchor
private void scrollToNamedAnchor(java.lang.String fragmentId)
Scrolls the editorPane to the first anchor element whose id or name matches the given fragmentId.- Parameters:
fragmentId-
-
createJEditorPane
private javax.swing.JEditorPane createJEditorPane()
-
displayPage
public void displayPage(Resource resource)
-
displayPage
public void displayPage(Resource resource, int sectionPos)
-
scrollToCurrentPosition
private void scrollToCurrentPosition(int sectionPos)
-
hyperlinkUpdate
public void hyperlinkUpdate(javax.swing.event.HyperlinkEvent event)
- Specified by:
hyperlinkUpdatein interfacejavax.swing.event.HyperlinkListener
-
gotoPreviousPage
public void gotoPreviousPage()
-
gotoNextPage
public void gotoNextPage()
-
calculateTargetHref
private java.lang.String calculateTargetHref(java.net.URL clickUrl)
Transforms a link generated by a click on a link in a document to a resource href. Property handles http encoded spaces and such.- Parameters:
clickUrl-- Returns:
- a link generated by a click on a link transformed into a document to a resource href.
-
navigationPerformed
public void navigationPerformed(NavigationEvent navigationEvent)
Description copied from interface:NavigationEventListenerCalled whenever the user navigates to another position in the book.- Specified by:
navigationPerformedin interfaceNavigationEventListener
-
-