org.jdrawing
Class JDrawing

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byorg.jdrawing.JDrawing
All Implemented Interfaces:
DrawingModelCacheListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class JDrawing
extends javax.swing.JComponent
implements DrawingModelCacheListener

A control that displays a set of graphical objects.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
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.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JDrawing()
          Returns a JDrawing with an empty model.
JDrawing(DrawingModel model)
          Returns an instance of JDrawing which displays the specified model.
 
Method Summary
 void areaChanged(DrawingModelCacheEvent event)
          Invoked after some area of the drawing has changed in some way.
protected  DrawingModel createDefaultModel()
          Returns the default drawing model object, which is a DefaultDrawingModel.
protected  DrawingModelCache createDefaultModelCache()
          Returns the default drawing model cache object, which is a DefaultDrawingModelCache.
protected  DrawingRenderer createDefaultRenderer()
          Returns the default drawing element renderer object, which can render instances of the following classes: Shape, Component, DrawingElement and CompoundDrawingElement.
 void drawingChanged(DrawingModelCacheEvent event)
          Invoked after the drawing has changed in some way.
 DrawingModel getModel()
          Returns the DrawingModel that is providing the data.
 DrawingModelCache getModelCache()
          Returns the DrawingModelCache that is optimizing redrawing.
 java.awt.Point getOrigin()
          Returns the coordination of origin point of the drawing into client coordinate space.
 DrawingRenderer getRenderer()
          Returns current DrawingRenderer that is used by this JDrawing.
protected  void paintBackground(java.awt.Graphics graphics)
          Invoked from paintComponent(java.awt.Graphics) before painting any elements.
protected  void paintComponent(java.awt.Graphics graphics)
          Paints this JDrawing component.
protected  void paintElements(java.awt.Graphics graphics)
          Paints drawing elements.
protected  void paintForeground(java.awt.Graphics graphics)
          Invoked from paintComponent(java.awt.Graphics) after painting elements.
 void setModel(DrawingModel model)
          Sets the DrawingModel that will provide the data.
 void setModelCache(DrawingModelCache cache)
          Sets the DrawingModelCache that will optimize redrawing.
 void setOrigin(java.awt.Point origin)
          Sets the coordination of origin point of the drawing into client coordinate space.
 void setRenderer(DrawingRenderer renderer)
          Sets DrawingRenderer that will be used by this JDrawing.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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
 

Constructor Detail

JDrawing

public JDrawing()
Returns a JDrawing with an empty model.

See Also:
DefaultDrawingModel

JDrawing

public JDrawing(DrawingModel model)
Returns an instance of JDrawing which displays the specified model.

Method Detail

setModel

public void setModel(DrawingModel model)
Sets the DrawingModel that will provide the data.

Parameters:
model - the DrawingModel that is to provide the data
Throws:
java.lang.IllegalArgumentException - if model is null

getModel

public DrawingModel getModel()
Returns the DrawingModel that is providing the data.

Returns:
the DrawingModel that is providing the data

setModelCache

public void setModelCache(DrawingModelCache cache)
Sets the DrawingModelCache that will optimize redrawing.

Parameters:
cache - the DrawingModelCache that is to optimize redrawing
Throws:
java.lang.IllegalArgumentException - if cache is null

getModelCache

public DrawingModelCache getModelCache()
Returns the DrawingModelCache that is optimizing redrawing.

Returns:
the DrawingModelCache that is optimizing redrawing

setRenderer

public void setRenderer(DrawingRenderer renderer)
Sets DrawingRenderer that will be used by this JDrawing.

Parameters:
renderer - DrawingRenderer
Throws:
java.lang.IllegalArgumentException - if renderer is null

getRenderer

public DrawingRenderer getRenderer()
Returns current DrawingRenderer that is used by this JDrawing.

Returns:
current DrawingRenderer

setOrigin

public void setOrigin(java.awt.Point origin)
Sets the coordination of origin point of the drawing into client coordinate space.

Parameters:
origin - new coordinates of the origin point
Throws:
java.lang.IllegalArgumentException - if origin is null

getOrigin

public java.awt.Point getOrigin()
Returns the coordination of origin point of the drawing into client coordinate space.

Returns:
coordinates of the origin point

areaChanged

public void areaChanged(DrawingModelCacheEvent event)
Invoked after some area of the drawing has changed in some way. Repaints changed area.

Specified by:
areaChanged in interface DrawingModelCacheListener
Parameters:
event - DrawingModelCacheEvent object encapsulating event information

drawingChanged

public void drawingChanged(DrawingModelCacheEvent event)
Invoked after the drawing has changed in some way. Repaints component.

Specified by:
drawingChanged in interface DrawingModelCacheListener
Parameters:
event - DrawingModelCacheEvent object encapsulating event information

paintComponent

protected void paintComponent(java.awt.Graphics graphics)
Paints this JDrawing component. First it invokes paintBackground(java.awt.Graphics) then paintElements(java.awt.Graphics) and finally paintForeground(java.awt.Graphics).

Parameters:
graphics - the Graphics context in which to paint
See Also:
DrawingModelCache, DrawingElementRenderer

paintBackground

protected void paintBackground(java.awt.Graphics graphics)
Invoked from paintComponent(java.awt.Graphics) before painting any elements. Fills clipping rectangle of the graphics with current background color.

Parameters:
graphics - the Graphics context in which to paint

paintElements

protected void paintElements(java.awt.Graphics graphics)
Paints drawing elements. Invoked from paintComponent(java.awt.Graphics).

Parameters:
graphics - the Graphics context in which to paint

paintForeground

protected void paintForeground(java.awt.Graphics graphics)
Invoked from paintComponent(java.awt.Graphics) after painting elements. This method does nothing. Override this method if you wish to paint something above drawing elements.

Parameters:
graphics - the Graphics context in which to paint

createDefaultModel

protected DrawingModel createDefaultModel()
Returns the default drawing model object, which is a DefaultDrawingModel. A subclass can override this method to return a different drawing model object.

Returns:
the default drawing model object

createDefaultModelCache

protected DrawingModelCache createDefaultModelCache()
Returns the default drawing model cache object, which is a DefaultDrawingModelCache. A subclass can override this method to return a different drawing model cache object.

Returns:
the default drawing model cache object

createDefaultRenderer

protected DrawingRenderer createDefaultRenderer()
Returns the default drawing element renderer object, which can render instances of the following classes: Shape, Component, DrawingElement and CompoundDrawingElement. A subclass can override this method to return a different drawing element renderer object.

Returns:
the default drawing element renderer object