diva.canvas
Class JCanvas
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
diva.canvas.JCanvas
- All Implemented Interfaces:
- ImageObserver, MenuContainer, Printable, Serializable
- Direct Known Subclasses:
- DivaGraphicsImageDisplay, JCanvasPalette, JGraph, JSketch, TestDrawActions
public class JCanvas
- extends JComponent
- implements Printable
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.
- Version:
- $Revision: 1.49 $
- Author:
- John Reekie
- See Also:
- Serialized Form
Constructor Summary |
JCanvas()
Create a new canvas that contains a single GraphicsPane. |
JCanvas(CanvasPane pane)
Create a new canvas that contains the given CanvasPane. |
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, 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, 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 |
JCanvas
public JCanvas()
- Create a new canvas that contains a single GraphicsPane. This
is the simplest way of using the JCanvas. Mouse events on the
canvas are enabled by default.
JCanvas
public JCanvas(CanvasPane pane)
- Create a new canvas that contains the given CanvasPane. Mouse
events on the canvas are enabled by default.
getCanvasPane
public final CanvasPane getCanvasPane()
- Get the canvas pane contained by this component.
getToolTipText
public String getToolTipText(MouseEvent e)
- Get the toolTipText for the point in the given MouseEvent.
Ask the canvasPane for a toolTip for the location of the mouse
event. Note that you should not in general call
setToolTipText on this canvas, since the value is ignored and the
value returned by this method used instead. Even worse,
if you call setToolTipText(null), then tooltips will probably get
disabled entirely!
- Overrides:
getToolTipText
in class JComponent
isFocusTraversable
public boolean isFocusTraversable()
- Return whether or not focus should be traversable across this object.
This must return true to allow keyboard events to be grabbed. Return
true in this class.
- Overrides:
isFocusTraversable
in class Component
paintComponent
public void paintComponent(Graphics g)
- Paint the canvas. Every layer in this canvas will be
requested to paint itself.
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.
- Overrides:
paintComponent
in class JComponent
print
public int print(Graphics graphics,
PageFormat format,
int index)
throws PrinterException
- Print the canvas to a printer, represented by the specified graphics
object. Scale the size of the canvas to fit onto the printed page,
while preserving the shape of the objects on the page.
- Specified by:
print
in interface Printable
- Parameters:
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.
- Returns:
- PAGE_EXISTS if the page is rendered successfully, or
NO_SUCH_PAGE if pageIndex specifies a non-existent page.
- Throws:
PrinterException
- If the print job is terminated.
print
public int print(Graphics graphics,
PageFormat format,
int index,
Rectangle2D printRegion)
throws PrinterException
- Print the canvas to a printer, represented by the specified graphics
object. Scale the given printRegion to fit onto the printed page,
while preserving the shape of the objects on the page.
- Parameters:
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 canvaws, in screen
coordinates, that will be printed to the screen.
- Returns:
- PAGE_EXISTS if the page is rendered successfully, or
NO_SUCH_PAGE if pageIndex specifies a non-existent page.
- Throws:
PrinterException
- If the print job is terminated.
repaint
public void repaint(DamageRegion d)
- Accept notification that a repaint has occurred on
in this canvas. Call the given damage region to generate
the appopriate calls to the Swing repaint manager.
setCanvasPane
public final void setCanvasPane(CanvasPane pane)
- Set the canvas pane contained by this JCanvas.
If there is already a pane in this JCanvas, replace it.
If the pane already is in a canvas, remove it from
that other canvas.
setDoubleBuffered
public void setDoubleBuffered(boolean flag)
- Turn double-buffering on this canvas on or off.
This method overrides the inherited method to
delete the off-screen buffer.
- Overrides:
setDoubleBuffered
in class JComponent
setPreferredSize
public void setPreferredSize(Dimension d)
- Set the preferred size of this JCanvas. In addition to calling
the superclass method, this calls setSize() on the contained pane.
- Overrides:
setPreferredSize
in class JComponent
processMouseEvent
protected void processMouseEvent(MouseEvent e)
- Process a mouse event. This method overrides the inherited
method to create a LayerEvent or LayerMotionEvent and pass the
event on to its pane (if it is not null).
The mouse event is passed to the superclass' method for
handling.
- Overrides:
processMouseEvent
in class JComponent
processMouseMotionEvent
protected void processMouseMotionEvent(MouseEvent e)
- Process a mouse motion event. This method overrides the
inherited method to create a LayerEvent or LayerMotionEvent
and pass the event on to its pane (if it is not null).
The mouse event is passed to the superclass' method for
handling.
- Overrides:
processMouseMotionEvent
in class JComponent
Copyright © 2015 Central Laboratory of the Research Councils. All Rights Reserved.