Package net.sf.jaxodraw.gui
Class JaxoCanvas
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- net.sf.jaxodraw.gui.AbstractJaxoCanvas
-
- net.sf.jaxodraw.gui.JaxoCanvas
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.beans.PropertyChangeListener,java.io.Serializable,java.util.EventListener,javax.swing.Scrollable,JaxoCanvasComponent,JaxoDrawingArea,JaxoLocalized
public final class JaxoCanvas extends AbstractJaxoCanvas
An instance of the canvas: responsible for all the painting.- Since:
- 2.0
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class net.sf.jaxodraw.gui.AbstractJaxoCanvas
HANDLE_PAINT_OFF, HANDLE_PAINT_ON, HANDLE_PAINT_SELECTION, HOVERING_EDITED_OBJECTS
-
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
-
Fields inherited from interface net.sf.jaxodraw.gui.JaxoDrawingArea
DEFAULT_HELP_COLOR, DEFAULT_HELP_STROKE
-
-
Constructor Summary
Constructors Constructor Description JaxoCanvas(java.awt.event.ActionListener listener)Constructs a new canvas.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()Clears the drawing area.voidcontinueEdit(java.awt.Point p, java.awt.Point last)Continue an edit actione that has been initiated before.voidcontinueSelect(java.awt.Point p)Carry on a select action that was started previously.protected voiddeleteMarkedObjects()Deletes all 'marked' objects from the drawing area and the current canvas graph.voideditNearestObject(java.awt.Point p)Determine the closest object to the given point and bring up an edit panel for it.voidfinalizeEdit()Finalize a user input action.voidfinalizeSelect(java.awt.Point p)End a select action.voidgroupMarkedObjects()Groups the currently marked objects.voidinitiateEdit(java.awt.Point p)Start an edit action at a given point.voidinitiateSelect(java.awt.Point p)Start a select action.voidmarkImageInvalid(java.awt.Rectangle boundingBox)Mark the specified region as invalid.voidmoveSelection(boolean backGround)Moves the currently selected objects into either fore- or background.protected voidpaintComponent(java.awt.Graphics g)Paint the Canvas.voidpasteFromClipboard()Paste the objects currently on the clipboard.protected voidprintComponent(java.awt.Graphics gr)Print the Canvas.protected voidrebuildImage()Build a new off-screen image.voidrefresh()Refresh the canvas.protected voidrevalidateCanvas()Resets the preferred size of the canvas.voidsetCanvasGraph(JaxoGraph value)Sets the current graph.voidungroupMarkedObjects()Ungroup all marked objects.voidungroupSelectedObject()If the selected object is a group, ungroup it.voidupdateMode(int mode)Resets canvas parameters for the given mode.voidupdatePointsAid(java.awt.Point p)Updates the visual aid that is painted for objects in click-move mode.-
Methods inherited from class net.sf.jaxodraw.gui.AbstractJaxoCanvas
asComponent, canPasteGraphFromSystemClipboard, copyMarkedObjects, cutMarkedObjects, getCanvasBackground, getCanvasBounds, getCanvasGraph, getCanvasOrigin, getCanvasSize, getClipboard, getEffectiveMaximumCanvasSize, getFboxPopup, getGrid, getHandle, getHandlePaintMode, getMaximumCanvasSize, getMinimumCanvasSize, getPreferredScrollableViewportSize, getScreenBounds, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSystemClipboardGraph, getZoom, isAntialiasEnabled, markBackgroundInvalid, markImageInvalid, moveGraph, paintBackgroundAndGrid, propertyChange, putToSystemClipboard, repaintBoundingBox, setAntialiasEnabled, setCanvasBackground, setCanvasGraphAndGrid, setGrid, setHandle, setHandlePaintMode, setMaximumCanvasSize, setMinimumCanvasSize, showColorPanel, showEditPanel, showSelectionPanel, snapObject, snapPoint, toComponentCoordinates, toComponentCoordinates, toGraphCoordinates, unMarkGraph, updateLanguage
-
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, 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, 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, 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, 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, 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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.sf.jaxodraw.gui.JaxoCanvasComponent
addMouseListener, addMouseMotionListener, addPropertyChangeListener, getGraphics, print, removeMouseListener, removeMouseMotionListener, repaint
-
-
-
-
Method Detail
-
markImageInvalid
public void markImageInvalid(java.awt.Rectangle boundingBox)
Mark the specified region as invalid. Currently this is also synchronous.- Parameters:
boundingBox- The region to update. May be null in which case the whole image is marked for update.
-
refresh
public void refresh()
Refresh the canvas. This should basically clean up any drawing operation and repaint the drawing area.
-
setCanvasGraph
public void setCanvasGraph(JaxoGraph value)
Sets the current graph. Also clears the hovering object.- Specified by:
setCanvasGraphin interfaceJaxoDrawingArea- Overrides:
setCanvasGraphin classAbstractJaxoCanvas- Parameters:
value- The graph to be set.
-
paintComponent
protected void paintComponent(java.awt.Graphics g)
Paint the Canvas.- Overrides:
paintComponentin classjavax.swing.JComponent- Parameters:
g- The graphics context to paint to.
-
printComponent
protected void printComponent(java.awt.Graphics gr)
Print the Canvas.- Overrides:
printComponentin classjavax.swing.JComponent- Parameters:
gr- The graphics context to print to.
-
rebuildImage
protected void rebuildImage()
Build a new off-screen image. This should only be needed for resizing the canvas.- Specified by:
rebuildImagein classAbstractJaxoCanvas
-
revalidateCanvas
protected void revalidateCanvas()
Resets the preferred size of the canvas.- Specified by:
revalidateCanvasin classAbstractJaxoCanvas
-
deleteMarkedObjects
protected void deleteMarkedObjects()
Deletes all 'marked' objects from the drawing area and the current canvas graph.- Specified by:
deleteMarkedObjectsin classAbstractJaxoCanvas
-
pasteFromClipboard
public void pasteFromClipboard()
Paste the objects currently on the clipboard.
-
ungroupMarkedObjects
public void ungroupMarkedObjects()
Ungroup all marked objects. This is not recursive, only one level is resolved.
-
ungroupSelectedObject
public void ungroupSelectedObject()
If the selected object is a group, ungroup it.
-
groupMarkedObjects
public void groupMarkedObjects()
Groups the currently marked objects.
-
updateMode
public void updateMode(int mode)
Resets canvas parameters for the given mode. Sets the cursor, and determines whether to draw visualAid and handles.- Specified by:
updateModein classAbstractJaxoCanvas- Parameters:
mode- The mode to adjust to.
-
clear
public void clear()
Clears the drawing area.
-
moveSelection
public void moveSelection(boolean backGround)
Moves the currently selected objects into either fore- or background.- Parameters:
backGround- True for moving into background, false for foreground.
-
editNearestObject
public void editNearestObject(java.awt.Point p)
Determine the closest object to the given point and bring up an edit panel for it.- Parameters:
p- the test point
-
initiateEdit
public void initiateEdit(java.awt.Point p)
Start an edit action at a given point.- Parameters:
p- the point associated with the edit action.
-
continueEdit
public void continueEdit(java.awt.Point p, java.awt.Point last)Continue an edit actione that has been initiated before.- Parameters:
p- the point on this drawing area associated with the edit action.last- the last recorded action point, or null if none.
-
finalizeEdit
public void finalizeEdit()
Finalize a user input action.
-
updatePointsAid
public void updatePointsAid(java.awt.Point p)
Updates the visual aid that is painted for objects in click-move mode.- Parameters:
p- the current location of the cursor.
-
initiateSelect
public void initiateSelect(java.awt.Point p)
Start a select action.- Parameters:
p- the point where the select action was started.
-
continueSelect
public void continueSelect(java.awt.Point p)
Carry on a select action that was started previously.- Parameters:
p- the current point of the select action.
-
finalizeSelect
public void finalizeSelect(java.awt.Point p)
End a select action.- Parameters:
p- the point where the select action was finished.
-
-