com.jfimagine.jfdraw.gui
Class DrawCanvas

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--com.jfimagine.jfdraw.gui.DrawCanvas
All Implemented Interfaces:
javax.accessibility.Accessible, java.util.EventListener, java.awt.image.ImageObserver, java.awt.event.KeyListener, java.awt.MenuContainer, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, javax.swing.Scrollable, java.io.Serializable

public class DrawCanvas
extends javax.swing.JPanel
implements javax.swing.Scrollable, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.KeyListener

Drawing canvas class. A main drawing canvas used to draw or show graphs.

Version:
$Revision: 1.1 $
Author:
CookieMaker
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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
DrawCanvas(DrawAdapter drawAdapter, double maxUnitIncrement)
          Constructor
 
Method Summary
 void adjustQuadrantsSize()
          Adjust all quadrants' size of this page
protected  void clearCanvas(java.awt.Graphics g)
           
 void drawGraph(java.awt.Graphics g, boolean isXorMode)
          Draw all graphs
protected  void finishPainting(java.awt.Graphics g)
          A finish painting method is used to draw the selection and currently drawing shapes after a normal graph drawing operation.
 void fireMouseEvent(java.awt.event.MouseEvent e)
           
 java.awt.Color getBackgroundColor()
          get the background color for drawing canvas
 CanvasFormat getCanvasFormat()
          Get canvas format.
 JFPage getDrawPage()
          get current drawing page
 DrawState getDrawState()
          get current draw state
 java.lang.String getFileName()
          get graph file name
 GridFormat getGridFormat()
          get current grid format
 JFPoint getLastMousePos()
          get last mouse position on this canvas.
 JFOperationManager getOperationManager()
          get current operation manager
 java.awt.Dimension getOriginalSize()
          get original size
 JFPageFormat getPageFormat()
          Get page format.
 DrawPane getParentDrawPane()
          get parent draw pane
 java.awt.Dimension getPreferredScrollableViewportSize()
          implements parent method in Interface Scrollable
 int getScrollableBlockIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)
          implements parent method in Interface Scrollable
 boolean getScrollableTracksViewportHeight()
          implements parent method in Interface Scrollable
 boolean getScrollableTracksViewportWidth()
          implements parent method in Interface Scrollable
 int getScrollableUnitIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)
          implements parent method in Interface Scrollable
 Selection getSelection()
          get selection object list.
 JFPoint getViewCenter()
          get view center of this canvas
 double getZoomScale()
          get zoom scale
protected  void initCanvas(java.awt.Graphics g)
          init canvas and clear all graph on it
 boolean isHideGrids()
          if hide grids now
 boolean isHidePopupMenus()
          if hide popupmenus now
 boolean isMetric()
           
 boolean isReverse()
          get if current current drawing canvas is under a reverse color.
 boolean isUsePageBounds()
          if use page bounds(or the bounds of a canvas format) to restrict drawing
 void keyPressed(java.awt.event.KeyEvent e)
          Invoked when a key has been pressed
 void keyReleased(java.awt.event.KeyEvent e)
          Invoked when a key has been released
 void keyTyped(java.awt.event.KeyEvent e)
          Invoked when a key has been typed.
 void mouseClicked(java.awt.event.MouseEvent e)
          Mouse click method required by the MouseListener interface.
 void mouseDragged(java.awt.event.MouseEvent e)
          Mouse dragging method required by the MouseMotionListener interface.
 void mouseEntered(java.awt.event.MouseEvent e)
          Mouse enter method required by the MouseListener interface.
 void mouseExited(java.awt.event.MouseEvent e)
          Mouse exit method required by the MouseListener interface.
 void mouseMoved(java.awt.event.MouseEvent e)
          Mouse move method required by the MouseMotionListener interface.
 void mousePressed(java.awt.event.MouseEvent e)
          Mouse press method required by the MouseListener interface.
 void mouseReleased(java.awt.event.MouseEvent e)
          Mouse release method required by the MouseListener interface.
 void paint(java.awt.Graphics g)
          repaint all graphs
 void setBackgroundColor(java.awt.Color color)
          set the background color for drawing canvas
 void setCanvasFormat(CanvasFormat canvasFormat)
          Set canvas format.
 void setDrawPage(JFPage page)
          set current drawing page as a new page
 void setDrawState(DrawState drawState)
          set current draw state
 void setFileName(java.lang.String fileName)
          set graph file name
 void setHideGrids(boolean hideGrids)
          set if hide grids
 void setHidePopupMenus(boolean hidePopupMenus)
          set if hide popupmenus
 void setIsMetric(boolean isMetric)
           
 void setLastMousePos(double x, double y)
          set last mouse position on this canvas.
 void setMaxUnitIncrement(int pixels)
          set current max unit increment while scrolling
 void setOriginalSize(java.awt.Dimension originalSize)
          set original size
 void setPageFormat(java.awt.print.PageFormat pageFormat)
          Set page format.
 void setParentDrawPane(DrawPane drawPane)
          set parent draw pane
 void setReverse(boolean reverse)
          set if current current drawing canvas is under a reverse color.
 void setUsePageBounds(boolean usePageBounds)
          set if use page bounds(or the bounds of a canvas format) to restrict drawing
 void setZoomScale(double zoomScale)
          set zoom scale
protected  void superPaint(java.awt.Graphics g)
          call super paint method of JPanel
 void update(java.awt.Graphics g)
           
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
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, 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, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, 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
 
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

DrawCanvas

public DrawCanvas(DrawAdapter drawAdapter,
                  double maxUnitIncrement)
Constructor

Method Detail

isMetric

public boolean isMetric()

setIsMetric

public void setIsMetric(boolean isMetric)

isHideGrids

public boolean isHideGrids()
if hide grids now


setHideGrids

public void setHideGrids(boolean hideGrids)
set if hide grids


isHidePopupMenus

public boolean isHidePopupMenus()
if hide popupmenus now


setHidePopupMenus

public void setHidePopupMenus(boolean hidePopupMenus)
set if hide popupmenus


isUsePageBounds

public boolean isUsePageBounds()
if use page bounds(or the bounds of a canvas format) to restrict drawing


setUsePageBounds

public void setUsePageBounds(boolean usePageBounds)
set if use page bounds(or the bounds of a canvas format) to restrict drawing


getBackgroundColor

public java.awt.Color getBackgroundColor()
get the background color for drawing canvas

Returns:
the background color

setBackgroundColor

public void setBackgroundColor(java.awt.Color color)
set the background color for drawing canvas


isReverse

public boolean isReverse()
get if current current drawing canvas is under a reverse color.

Returns:
True if is reversed, false otherwise.

setReverse

public void setReverse(boolean reverse)
set if current current drawing canvas is under a reverse color.

Parameters:
reverse - True if is reversed, false otherwise.

getFileName

public java.lang.String getFileName()
get graph file name


setFileName

public void setFileName(java.lang.String fileName)
set graph file name


getGridFormat

public GridFormat getGridFormat()
get current grid format

Returns:
the grid format.

getZoomScale

public double getZoomScale()
get zoom scale

Returns:
the zoom scale

setZoomScale

public void setZoomScale(double zoomScale)
set zoom scale

Parameters:
zoomScale - A new zoom scale.

getViewCenter

public JFPoint getViewCenter()
get view center of this canvas

Returns:
the center point of the view rectangle of this canvas

getOriginalSize

public java.awt.Dimension getOriginalSize()
get original size

Returns:
the original size

setOriginalSize

public void setOriginalSize(java.awt.Dimension originalSize)
set original size

Parameters:
originalSize - A new original size.

getDrawState

public DrawState getDrawState()
get current draw state


setDrawState

public void setDrawState(DrawState drawState)
set current draw state

Parameters:
drawState - A new draw state.

setParentDrawPane

public void setParentDrawPane(DrawPane drawPane)
set parent draw pane

Parameters:
drawPane - a new parent drawPane

getParentDrawPane

public DrawPane getParentDrawPane()
get parent draw pane

Returns:
the parent draw pane of this draw canvas.

getLastMousePos

public JFPoint getLastMousePos()
get last mouse position on this canvas.

Returns:
last mouse position

setLastMousePos

public void setLastMousePos(double x,
                            double y)
set last mouse position on this canvas.


getDrawPage

public JFPage getDrawPage()
get current drawing page


setDrawPage

public void setDrawPage(JFPage page)
set current drawing page as a new page


getOperationManager

public JFOperationManager getOperationManager()
get current operation manager


getSelection

public Selection getSelection()
get selection object list.


paint

public void paint(java.awt.Graphics g)
repaint all graphs

Overrides:
paint in class javax.swing.JComponent

superPaint

protected void superPaint(java.awt.Graphics g)
call super paint method of JPanel

Parameters:
g - Graphics context

finishPainting

protected void finishPainting(java.awt.Graphics g)
A finish painting method is used to draw the selection and currently drawing shapes after a normal graph drawing operation.

Parameters:
g - A graphics context

update

public void update(java.awt.Graphics g)
Overrides:
update in class javax.swing.JComponent

clearCanvas

protected void clearCanvas(java.awt.Graphics g)

initCanvas

protected void initCanvas(java.awt.Graphics g)
init canvas and clear all graph on it


drawGraph

public void drawGraph(java.awt.Graphics g,
                      boolean isXorMode)
Draw all graphs

Parameters:
g - A graphics context
isXorMode - If is in xor mode now.

fireMouseEvent

public void fireMouseEvent(java.awt.event.MouseEvent e)

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Mouse press method required by the MouseListener interface.

Specified by:
mousePressed in interface java.awt.event.MouseListener
Parameters:
e - A mouse press event.

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Mouse release method required by the MouseListener interface.

Specified by:
mouseReleased in interface java.awt.event.MouseListener
Parameters:
e - A mouse release event.

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Mouse enter method required by the MouseListener interface.

Specified by:
mouseEntered in interface java.awt.event.MouseListener
Parameters:
e - A mouse enter event.

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Mouse exit method required by the MouseListener interface.

Specified by:
mouseExited in interface java.awt.event.MouseListener
Parameters:
e - A mouse exit event.

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Mouse click method required by the MouseListener interface.

Specified by:
mouseClicked in interface java.awt.event.MouseListener
Parameters:
e - A mouse click event.

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Mouse move method required by the MouseMotionListener interface.

Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener
Parameters:
e - A mouse move event.

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
Mouse dragging method required by the MouseMotionListener interface.

Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener
Parameters:
e - A mouse drag event.

keyTyped

public void keyTyped(java.awt.event.KeyEvent e)
Invoked when a key has been typed. This event occurs when a key press is followed by a key release.

Specified by:
keyTyped in interface java.awt.event.KeyListener
Parameters:
e - A key event object.

keyPressed

public void keyPressed(java.awt.event.KeyEvent e)
Invoked when a key has been pressed

Specified by:
keyPressed in interface java.awt.event.KeyListener
Parameters:
e - A key event object.

keyReleased

public void keyReleased(java.awt.event.KeyEvent e)
Invoked when a key has been released

Specified by:
keyReleased in interface java.awt.event.KeyListener
Parameters:
e - A key event object.

getPreferredScrollableViewportSize

public java.awt.Dimension getPreferredScrollableViewportSize()
implements parent method in Interface Scrollable

Specified by:
getPreferredScrollableViewportSize in interface javax.swing.Scrollable

getScrollableUnitIncrement

public int getScrollableUnitIncrement(java.awt.Rectangle visibleRect,
                                      int orientation,
                                      int direction)
implements parent method in Interface Scrollable

Specified by:
getScrollableUnitIncrement in interface javax.swing.Scrollable

getScrollableBlockIncrement

public int getScrollableBlockIncrement(java.awt.Rectangle visibleRect,
                                       int orientation,
                                       int direction)
implements parent method in Interface Scrollable

Specified by:
getScrollableBlockIncrement in interface javax.swing.Scrollable

getScrollableTracksViewportWidth

public boolean getScrollableTracksViewportWidth()
implements parent method in Interface Scrollable

Specified by:
getScrollableTracksViewportWidth in interface javax.swing.Scrollable

getScrollableTracksViewportHeight

public boolean getScrollableTracksViewportHeight()
implements parent method in Interface Scrollable

Specified by:
getScrollableTracksViewportHeight in interface javax.swing.Scrollable

setMaxUnitIncrement

public void setMaxUnitIncrement(int pixels)
set current max unit increment while scrolling

Parameters:
pixels - Pixels as unit for scrolling.

getPageFormat

public JFPageFormat getPageFormat()
Get page format.

Returns:
The page format.

setPageFormat

public void setPageFormat(java.awt.print.PageFormat pageFormat)
Set page format.

Parameters:
pageFormat - A new page format.

getCanvasFormat

public CanvasFormat getCanvasFormat()
Get canvas format.

Returns:
The canvas format.

setCanvasFormat

public void setCanvasFormat(CanvasFormat canvasFormat)
Set canvas format.


adjustQuadrantsSize

public void adjustQuadrantsSize()
Adjust all quadrants' size of this page



Copyright 2004 ~ 2005 JingFei International Cooperation LTD. All Rights Reserved.