Package org.xhtmlrenderer.swing
Class BasicPanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.xhtmlrenderer.swing.RootPanel
org.xhtmlrenderer.swing.BasicPanel
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
,Scrollable
,FSCanvas
,UserInterface
,FormSubmissionListener
,RepaintListener
- Direct Known Subclasses:
XHTMLPanel
A Swing
JPanel
that encloses the Flying Saucer renderer
for easy integration into Swing applications.- See Also:
-
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
FieldsModifier and TypeFieldDescriptionprivate boolean
private boolean
protected FormSubmissionListener
private final MouseTracker
private static final int
private static final int
Fields inherited from class org.xhtmlrenderer.swing.RootPanel
active_element, doc, focus_element, hovered_element
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 -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
private int
calcCenteredPageLeftOffset
(int maxPageWidth) private void
Checks that the calling method of the method that calls this method is not in this class and throws a RuntimeException if it was.protected void
doRender
(RenderingContext c, Layer root) private String
getAnchorId
(String url) Returns the title as reported by the NamespaceHandler assigned to the SharedContext in this panel.getURL()
private boolean
boolean
boolean
boolean
isOpaque()
Returns whether the background of thisBasicPanel
will be painted when it is rendered.protected Document
loadDocument
(String uri) void
private void
void
paintPage
(Graphics2D g, int pageNo) private void
paintPagedView
(RenderingContext c, Layer root) void
private void
void
reloadDocument
(String URI) Reloads the document using the same base URL and namespace handler.void
reloadDocument
(Document doc) Reloads the document using the same base URL and namespace handler.void
protected void
void
Scroll the panel to make the specified point be on screen.void
setCenteredPagedView
(boolean centeredPagedView) protected void
setDocument
(InputStream stream, String url) void
setDocument
(InputStream stream, String url, NamespaceHandler nsh) void
setDocument
(String url) void
setDocument
(String url, NamespaceHandler nsh) void
setDocument
(Document doc, String url) void
setDocumentFromString
(String content, @Nullable String url, NamespaceHandler nsh) protected void
setDocumentRelative
(String filename) Sets the new current document, where the new document is located relative, e.g.void
void
setInteractive
(boolean interactive) void
Sets the layout attribute of the BasicPanel object Overrides the method to do nothing, since you shouldn't have a LayoutManager on an FS panel.void
setOpaque
(boolean opaque) Specifies whether the background of thisBasicPanel
will be painted when it is rendered.void
void
Called by XhtmlForm when a form is submitted.Methods inherited from class org.xhtmlrenderer.swing.RootPanel
addDocumentListener, addNotify, doDocumentLayout, doLayout, find, find, fireDocumentLoaded, fireDocumentStarted, fireOnLayoutException, fireOnRenderException, getCellRendererPane, getEnclosingScrollPane, getFixedRectangle, getLayoutContext, getLayoutWidth, getPreferredScrollableViewportSize, getRootBox, getRootLayer, getScreenExtents, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSharedContext, hasDocumentListeners, init, isActive, isDefaultFontFromComponent, isExtentsHaveChanged, isFocus, isHover, isNeedRelayout, isPrintView, newLayoutContext, newRenderingContext, relayout, removeDocumentListener, removeNotify, repaintRequested, resetScrollPosition, setDefaultFontFromComponent, setDocument, setEnclosingScrollPane, setNeedRelayout, setRootBox, validate
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
Methods inherited from class javax.swing.JComponent
addAncestorListener, 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, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, 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, 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, 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, transferFocusDownCycle, 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, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
PAGE_PAINTING_CLEARANCE_WIDTH
private static final int PAGE_PAINTING_CLEARANCE_WIDTH- See Also:
-
PAGE_PAINTING_CLEARANCE_HEIGHT
private static final int PAGE_PAINTING_CLEARANCE_HEIGHT- See Also:
-
explicitlyOpaque
private boolean explicitlyOpaque -
mouseTracker
-
centeredPagedView
private boolean centeredPagedView -
formSubmissionListener
-
-
Constructor Details
-
BasicPanel
protected BasicPanel() -
BasicPanel
-
-
Method Details
-
paintComponent
- Overrides:
paintComponent
in classJComponent
-
doRender
-
paintDefaultBackground
-
paintPagedView
-
calcCenteredPageLeftOffset
private int calcCenteredPageLeftOffset(int maxPageWidth) -
paintPage
-
assignPagePrintPositions
-
printTree
public void printTree() -
printTree
-
setLayout
Sets the layout attribute of the BasicPanel object Overrides the method to do nothing, since you shouldn't have a LayoutManager on an FS panel. -
setSize
-
setDocument
-
setDocumentFromString
-
setDocument
-
setDocument
-
setDocument
-
setDocument
-
setDocumentRelative
Sets the new current document, where the new document is located relative, e.g. using a relative URL.- Parameters:
filename
- The new document to load
-
reloadDocument
Reloads the document using the same base URL and namespace handler. Reloading will pick up changes to styles within the document.- Parameters:
URI
- A URI for the Document to load, for example, file.toURL().toExternalForm().
-
reloadDocument
Reloads the document using the same base URL and namespace handler. Reloading will pick up changes to styles within the document.- Parameters:
doc
- The document to reload.
-
getURL
-
getDocument
-
getDocumentTitle
Returns the title as reported by the NamespaceHandler assigned to the SharedContext in this panel. For an HTML document, this will be the contents of /html/head/title.- Returns:
- the document title, or "" if the namespace handler cannot find a title, or if there is no current document in the panel.
-
loadDocument
-
isOpaque
public boolean isOpaque()Returns whether the background of thisBasicPanel
will be painted when it is rendered.- Overrides:
isOpaque
in classJComponent
- Returns:
true
if the background of thisBasicPanel
will be painted,false
if it will not.
-
setOpaque
public void setOpaque(boolean opaque) Specifies whether the background of thisBasicPanel
will be painted when it is rendered.- Overrides:
setOpaque
in classJComponent
- Parameters:
opaque
-true
if the background of thisBasicPanel
should be painted,false
if it should not.
-
checkOpacityMethodClient
private void checkOpacityMethodClient()Checks that the calling method of the method that calls this method is not in this class and throws a RuntimeException if it was. This is used to ensure that parts of this class that use the opacity to indicate something other than whether the background is painted do not interfere with the user's intentions regarding the background painting.- Throws:
IllegalStateException
- if the method that called this method was itself called by a method in this same class.
-
isAnchorInCurrentDocument
-
getAnchorId
-
scrollTo
Scroll the panel to make the specified point be on screen. Typically, this will scroll the screen down to the y component of the point. -
isInteractive
public boolean isInteractive() -
setInteractive
public void setInteractive(boolean interactive) -
addMouseTrackingListener
-
removeMouseTrackingListener
-
getMouseTrackingListeners
-
resetMouseTracker
protected void resetMouseTracker() -
isCenteredPagedView
public boolean isCenteredPagedView() -
setCenteredPagedView
public void setCenteredPagedView(boolean centeredPagedView) -
submit
Description copied from interface:FormSubmissionListener
Called by XhtmlForm when a form is submitted.- Specified by:
submit
in interfaceFormSubmissionListener
- Parameters:
url
- the entire query string as composed of form elements and the form's action URL
-
setFormSubmissionListener
-