Class 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
      • 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

      Fields 
      Modifier and Type Field Description
      private Resource currentResource  
      private javax.swing.JEditorPane editorPane  
      private HTMLDocumentFactory htmlDocumentFactory  
      private static org.slf4j.Logger log  
      private Navigator navigator  
      private javax.swing.JScrollPane scrollPane  
      private static long serialVersionUID  
      • 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
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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.
      private javax.swing.JEditorPane createJEditorPane()  
      void displayPage​(Resource resource)  
      void displayPage​(Resource resource, int sectionPos)  
      void gotoNextPage()  
      void gotoPreviousPage()  
      void hyperlinkUpdate​(javax.swing.event.HyperlinkEvent event)  
      private void initBook​(Book book)  
      private static boolean matchesAny​(java.lang.String searchString, java.lang.String... possibleValues)
      Whether the given searchString matches any of the possibleValues.
      void navigationPerformed​(NavigationEvent navigationEvent)
      Called whenever the user navigates to another position in the book.
      private void scrollToCurrentPosition​(int sectionPos)  
      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
      private void scrollToNamedAnchor​(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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • log

        private static final org.slf4j.Logger log
      • currentResource

        private Resource currentResource
      • editorPane

        private javax.swing.JEditorPane editorPane
      • scrollPane

        private javax.swing.JScrollPane scrollPane
    • 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:
        hyperlinkUpdate in interface javax.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.