Package com.reportmill
Class RMViewer
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
com.reportmill.RMViewer
- All Implemented Interfaces:
RMDocument.DocListener,ImageObserver,MenuContainer,Serializable
- Direct Known Subclasses:
Gallery.GViewer,RMEditor,RMTrackballControl,Scene3DTool.Scene3DControl
The RMViewer class is a JComponent subclass that can be used in Swing applications to display and/or print an
RMDocument.
You might use it like this to simply print a document:
new RMViewer(aDocument).print();
Or you might want to allocate one and add it to a Swing component hierarchy:
RMViewer viewer = new RMViewer(); JScrollPane scrollPane = new JScrollPane(viewer); myFrame.getContentPane().add(scrollPane, Border.CENTER); viewer.setDocument(new RMDocument(aSource));
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionconvertPointFromShape(RMPoint aPoint, RMShape aShape) Returns a point converted from the coordinate space of the given shape to viewer coords.convertPointToShape(Point2D aPoint, RMShape aShape) Returns a point converted from viewer coords to the coordinate space of the given shape.convertRectFromShape(RMRect aRect, RMShape aShape) Returns a rect converted from the coordinate space of the given shape to viewer coords.convertRectToShape(RMRect aRect, RMShape aShape) Returns a rect converted from viewer coords to the coordinate space of the given shape.voiddocShapeBoundsChanged(RMDocument aDoc, RMShape aShape) Doc listener method - called by editor when making bounds changes.voiddocShapeNeedsRepaint(RMDocument aDoc, RMShape aShape) Doc listener method - called before a shape makes a visual change.voiddocUndoerAddDirtyObject(RMDocument aDoc, RMObject anObj) Doc listener method - RMViewer ignores it, but RMEditor calls setUndoSelectedObjects.booleanReturns whether or not the gutter, page background & dropshadow get drawn.voidThis method repaints the total bounds of shapes that have previously been registered by shapeNeedsRepaint.Returns a java.awt.print.Book, suitable for AWT printing.Returns the dirty rect of shapes currently registered with shapeNeedsRepaint (and clears _dirtyShapes).Returns the RMDocument associated with this viewer.Returns the bounds of the viewer document.Returns filename associated with viewer's document (or null if the document didn't come from a file).Standard minimum size method.Returns the bounds of the viewer document's selected page.byteReturns the page layout of the viewer's document.Returns the optimal size of the viewer.intintReturns the rendering hings used to paint the view.Returns the currently selected page shape.intReturns the index of the current visiable document page.getShapeAtPoint(Point2D aPoint, boolean goDeep) Returns the first shape hit by the given point.Returns the object that is actually responsible for paining shapes in the viewer.booleanReturns whether changes to shapes cause repaints.getTransformFromShape(RMShape aShape) Returns the transform from given shape to viewer.Returns the undoer associated with the viewer's document.floatReturns the viewer's zoom factor (1 by default).voidmouseDragged(MouseEvent anEvent) Handle mouse dragged event.voidmouseMoved(MouseEvent anEvent) Handle mouse moved event.voidmousePressed(MouseEvent anEvent) Handle mouse pressed event.voidmouseReleased(MouseEvent anEvent) Handle mouse released event.voidpageBack()Selects the previous page.voidSelects the next page.voidOverrides JComponent implementation to paint viewer shapes and page, margin, grid, etc.voidProvides a hook for subclasses to paint above standard viewer drawing.voidperformActionURLClick(String aURL) Viewer callback - called when shape with URL is clicked (opens URL).voidprint()This method tells the RMViewer to print by running the print dialog (configured to the default printer).voidThis method tells the RMViewer to print to the printer with the given printer name (use null for default printer).voidprint2()voidprotected voidprocessMouseEvent(MouseEvent anEvent) Handle mouse events.protected voidprocessMouseMotionEvent(MouseEvent anEvent) voidRequests a repaint for the area represented by the given rect.voidRuns a dialog panel to request a percentage zoom (which is then set with setZoomFactor).voidsetDocument(RMDocument aDoc) Sets the RMDocument associated with this viewer.voidsetPrintingDPI(int printingDPI) voidsetPrintingMode(int printingMode) voidsetSelectedPageIndex(int anIndex) Sets the page of viewer's document that is visible (by index).voidsetShapePainter(RMShapePainter aPainter) Sets the object that is actually responsible for paining shapes in the viewer.voidsetShapeRepaintEnabled(boolean aFlag) Sets whether changes to shapes cause repaints.voidsetZoomFactor(float aFactor) Sets the viewer's zoom factor (1 for 100%).voidSets the viewer's zoom to match the current screen resolutionvoidundoerAddChildToShape(RMShape aShape, RMShape aParent) Adds a child with undo registration in the viewer's documents's undoer (convenience).voidDisable's undo in the viewer's documents's undoer (convenience).voidEnable's undo in the viewer's documents's undoer (convenience).booleanReturns whether undos exist in the viewer's documents's undoer (convenience).voidundoerSetCoalesce(boolean aFlag) Turns on undo coalescing in the viewer's documents's undoer (convenience).voidundoerSetUndoTitle(String aTitle) Sets the title of the next registered undo in the viewer's documents's undoer (convenience).protected voidupdateShapeUnderStack(RMShape aShape, MouseEvent anEvent) The shape under stack should always be a stack of descendants that acceptEvents.voidSets the viewer's zoom to its previous value.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, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, 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, updateUIMethods 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, validateTreeMethods 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, getAccessibleContext, 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 Details
-
PRINT_MODE_VECTOR
public static final int PRINT_MODE_VECTOR- See Also:
-
PRINT_MODE_RASTER
public static final int PRINT_MODE_RASTER- See Also:
-
GridColor
-
MarginColor
-
-
Constructor Details
-
RMViewer
public RMViewer()Creates a new RMViewer with an empty document in it. -
RMViewer
Creates a new RMViewer from the given source. aSource is used to get an RMDocument and can be many different things: String file path, File object, InputStream, byte array, URL or even an RMDocument.
-
-
Method Details
-
getPrintingMode
public int getPrintingMode() -
setPrintingMode
public void setPrintingMode(int printingMode) -
getPrintingDPI
public int getPrintingDPI() -
setPrintingDPI
public void setPrintingDPI(int printingDPI) -
getDocument
Returns the RMDocument associated with this viewer. -
setDocument
Sets the RMDocument associated with this viewer. -
getSelectedPage
Returns the currently selected page shape. -
getFilename
Returns filename associated with viewer's document (or null if the document didn't come from a file). -
getPageLayout
public byte getPageLayout()Returns the page layout of the viewer's document. -
getSelectedPageIndex
public int getSelectedPageIndex()Returns the index of the current visiable document page. -
setSelectedPageIndex
public void setSelectedPageIndex(int anIndex) Sets the page of viewer's document that is visible (by index). -
pageForward
public void pageForward()Selects the next page. -
pageBack
public void pageBack()Selects the previous page. -
getDocumentBounds
Returns the bounds of the viewer document. -
getPageBounds
Returns the bounds of the viewer document's selected page. -
getShapeAtPoint
Returns the first shape hit by the given point. -
getZoomFactor
public float getZoomFactor()Returns the viewer's zoom factor (1 by default). -
setZoomFactor
public void setZoomFactor(float aFactor) Sets the viewer's zoom factor (1 for 100%). -
setZoomForScreenResolution
public void setZoomForScreenResolution()Sets the viewer's zoom to match the current screen resolution -
zoomToggleLast
public void zoomToggleLast()Sets the viewer's zoom to its previous value. -
runZoomPanel
public void runZoomPanel()Runs a dialog panel to request a percentage zoom (which is then set with setZoomFactor). -
convertPointFromShape
Returns a point converted from the coordinate space of the given shape to viewer coords. -
convertPointToShape
Returns a point converted from viewer coords to the coordinate space of the given shape. -
convertRectFromShape
Returns a rect converted from the coordinate space of the given shape to viewer coords. -
convertRectToShape
Returns a rect converted from viewer coords to the coordinate space of the given shape. -
getTransformFromShape
Returns the transform from given shape to viewer. -
repaint
Requests a repaint for the area represented by the given rect. -
getShapePainter
Returns the object that is actually responsible for paining shapes in the viewer. -
setShapePainter
Sets the object that is actually responsible for paining shapes in the viewer. -
getRenderingHints
Returns the rendering hings used to paint the view. -
drawsBackground
public boolean drawsBackground()Returns whether or not the gutter, page background & dropshadow get drawn. -
paintComponent
Overrides JComponent implementation to paint viewer shapes and page, margin, grid, etc.- Overrides:
paintComponentin classJComponent
-
paintComponentAbove
Provides a hook for subclasses to paint above standard viewer drawing. -
processMouseEvent
Handle mouse events.- Overrides:
processMouseEventin classJComponent
-
processMouseMotionEvent
- Overrides:
processMouseMotionEventin classJComponent
-
mousePressed
Handle mouse pressed event. -
mouseDragged
Handle mouse dragged event. -
mouseReleased
Handle mouse released event. -
mouseMoved
Handle mouse moved event. -
updateShapeUnderStack
The shape under stack should always be a stack of descendants that acceptEvents. -
performActionURLClick
Viewer callback - called when shape with URL is clicked (opens URL). -
getMinimumSize
Standard minimum size method.- Overrides:
getMinimumSizein classJComponent
-
getPreferredSize
Returns the optimal size of the viewer.- Overrides:
getPreferredSizein classJComponent
-
getUndoer
Returns the undoer associated with the viewer's document. -
undoerSetUndoTitle
Sets the title of the next registered undo in the viewer's documents's undoer (convenience). -
undoerDisable
public void undoerDisable()Disable's undo in the viewer's documents's undoer (convenience). -
undoerEnable
public void undoerEnable()Enable's undo in the viewer's documents's undoer (convenience). -
undoerSetCoalesce
public void undoerSetCoalesce(boolean aFlag) Turns on undo coalescing in the viewer's documents's undoer (convenience). -
undoerHasUndos
public boolean undoerHasUndos()Returns whether undos exist in the viewer's documents's undoer (convenience). -
undoerAddChildToShape
Adds a child with undo registration in the viewer's documents's undoer (convenience). -
getShapeRepaintEnabled
public boolean getShapeRepaintEnabled()Returns whether changes to shapes cause repaints. -
setShapeRepaintEnabled
public void setShapeRepaintEnabled(boolean aFlag) Sets whether changes to shapes cause repaints. -
docShapeNeedsRepaint
Doc listener method - called before a shape makes a visual change. Provides a mechanism to efficiently repaint the portion of the viewer that currently displays a shape. Registers the area covered by the shape now and at event end, to efficiently repaint shapes in transition as well.- Specified by:
docShapeNeedsRepaintin interfaceRMDocument.DocListener
-
docShapeBoundsChanged
Doc listener method - called by editor when making bounds changes.- Specified by:
docShapeBoundsChangedin interfaceRMDocument.DocListener
-
docUndoerAddDirtyObject
Doc listener method - RMViewer ignores it, but RMEditor calls setUndoSelectedObjects.- Specified by:
docUndoerAddDirtyObjectin interfaceRMDocument.DocListener
-
flushGraphics
public void flushGraphics()This method repaints the total bounds of shapes that have previously been registered by shapeNeedsRepaint. This should only be used internally. -
getDirtyRect
Returns the dirty rect of shapes currently registered with shapeNeedsRepaint (and clears _dirtyShapes). -
print
public void print()This method tells the RMViewer to print by running the print dialog (configured to the default printer). -
print
This method tells the RMViewer to print to the printer with the given printer name (use null for default printer). It also offers an option to run the printer dialog. -
print2
public void print2() -
print2
-
getBook
Returns a java.awt.print.Book, suitable for AWT printing.
-