|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
diva.canvas.JCanvas
public class JCanvas
The JCanvas class is the center-piece of this package. The canvas is composed of a canvas pane, which in turn is composed of one or more layers. Each layer may contain arbitrary graphics, although commonly at least one layer is an instance of a "figure layer" class that contains figure objects. The main role of the JCanvas class is to provide the physical screen space on which layers draw themselves, and to interface to the Swing component hierarchy.
This architecture allows a graphics developer to write code for a pane and a set of layers, without being concerned about whether the pane and its layers will be directly contained by a JCanvas or within some other layer. For example, it will be possible for a visualization component to be "embedded" in a larger component.
Yellow |
Nested Class Summary |
---|
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
Field Summary | |
---|---|
private CanvasPane |
_canvasPane
The contained canvas pane. |
private javax.swing.DefaultBoundedRangeModel |
_horizontalRangeModel
range model to control the horizontal movement of the model |
private java.awt.image.BufferedImage |
_offscreen
The off-screen image. |
private javax.swing.DefaultBoundedRangeModel |
_verticalRangeModel
range model to control the vertical movement of the model |
private boolean |
_workaroundClearRectBug
A flag to tell us whether to work around the clearRect bug in beta4 |
Fields inherited from class javax.swing.JComponent |
---|
accessibleContext, 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 |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
Fields inherited from interface java.awt.print.Printable |
---|
NO_SUCH_PAGE, PAGE_EXISTS |
Fields inherited from interface java.awt.image.ImageObserver |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
---|---|
JCanvas()
Create a new canvas that contains a single GraphicsPane. |
|
JCanvas(CanvasPane pane)
Create a new canvas that contains the given CanvasPane. |
Method Summary | |
---|---|
private boolean |
_checkForClearRectBug()
Check for the clearRect bug by looking at the JDK version |
CanvasPane |
getCanvasPane()
Get the canvas pane contained by this component. |
javax.swing.BoundedRangeModel |
getHorizontalRangeModel()
return the horizontal range model for this canvas |
java.lang.String |
getToolTipText(java.awt.event.MouseEvent e)
Get the toolTipText for the point in the given MouseEvent. |
javax.swing.BoundedRangeModel |
getVerticalRangeModel()
return the vertical range model for this canvas |
java.awt.geom.Rectangle2D |
getViewSize()
Return the total size of everything in the canvas, in canvas coordinates. |
java.awt.geom.Rectangle2D |
getVisibleSize()
Return the size of the visible part of the canvas, in canvas coordinates. |
private void |
internalProcessMouseEvent(java.awt.event.MouseEvent e)
Process a mouse event. |
boolean |
isFocusTraversable()
Return whether or not focus should be traversable across this object. |
void |
paint(java.awt.Graphics g)
Paint the canvas. |
int |
print(java.awt.Graphics graphics,
java.awt.print.PageFormat format,
int index)
Print the canvas to a printer, represented by the specified graphics object. |
int |
print(java.awt.Graphics graphics,
java.awt.print.PageFormat format,
int index,
java.awt.geom.Rectangle2D printRegion)
Print the canvas to a printer, represented by the specified graphics object. |
protected void |
processMouseEvent(java.awt.event.MouseEvent e)
Process a mouse event. |
protected void |
processMouseMotionEvent(java.awt.event.MouseEvent e)
Process a mouse motion event. |
void |
repaint(DamageRegion d)
Accept notification that a repaint has occurred on in this canvas. |
void |
setCanvasPane(CanvasPane pane)
Set the canvas pane contained by this JCanvas. |
void |
setDoubleBuffered(boolean flag)
Turn double-buffering on this canvas on or off. |
void |
setPreferredSize(java.awt.Dimension d)
Set the preferred size of this JCanvas. |
Methods inherited from class javax.swing.JComponent |
---|
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, 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, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, 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, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI |
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, transferFocusBackward, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private java.awt.image.BufferedImage _offscreen
private CanvasPane _canvasPane
private javax.swing.DefaultBoundedRangeModel _horizontalRangeModel
private javax.swing.DefaultBoundedRangeModel _verticalRangeModel
private transient boolean _workaroundClearRectBug
Constructor Detail |
---|
public JCanvas()
public JCanvas(CanvasPane pane)
Method Detail |
---|
public final CanvasPane getCanvasPane()
public java.lang.String getToolTipText(java.awt.event.MouseEvent e)
getToolTipText
in class javax.swing.JComponent
public boolean isFocusTraversable()
isFocusTraversable
in class java.awt.Component
public void paint(java.awt.Graphics g)
This method allocates an offscreen buffer if necessary, and then paints the canvas into the right buffer and blits it to the on-screen buffer.
Acknowledgement: some of this code was adapted from code posted by Jonathon Knudsen to the Java2D mailing list, May 1998.
paint
in class javax.swing.JComponent
public int print(java.awt.Graphics graphics, java.awt.print.PageFormat format, int index) throws java.awt.print.PrinterException
print
in interface java.awt.print.Printable
graphics
- The context into which the page is drawn.format
- The size and orientation of the page being drawn.index
- The zero based index of the page to be drawn.
java.awt.print.PrinterException
- If the print job is terminated.public int print(java.awt.Graphics graphics, java.awt.print.PageFormat format, int index, java.awt.geom.Rectangle2D printRegion) throws java.awt.print.PrinterException
graphics
- The context into which the page is drawn.format
- The size and orientation of the page being drawn.index
- The zero based index of the page to be drawn.printRegion
- The rectangular region of the canvas, in screen
coordinates, that will be printed to the screen.
java.awt.print.PrinterException
- If the print job is terminated.public void repaint(DamageRegion d)
public final void setCanvasPane(CanvasPane pane)
public void setDoubleBuffered(boolean flag)
setDoubleBuffered
in class javax.swing.JComponent
public void setPreferredSize(java.awt.Dimension d)
setPreferredSize
in class javax.swing.JComponent
public javax.swing.BoundedRangeModel getHorizontalRangeModel()
public javax.swing.BoundedRangeModel getVerticalRangeModel()
public java.awt.geom.Rectangle2D getViewSize()
public java.awt.geom.Rectangle2D getVisibleSize()
protected void processMouseEvent(java.awt.event.MouseEvent e)
processMouseEvent
in class javax.swing.JComponent
protected void processMouseMotionEvent(java.awt.event.MouseEvent e)
processMouseMotionEvent
in class javax.swing.JComponent
private void internalProcessMouseEvent(java.awt.event.MouseEvent e)
private boolean _checkForClearRectBug()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |