Class DrawingJPanel

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--DrawingJPanel
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ComponentListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable
Direct Known Subclasses:
NodeAndLinkAnimatingJPanel, NodeDrawingJPanel, TreeJPanel

public class DrawingJPanel
extends javax.swing.JPanel
implements java.awt.event.ComponentListener

A specific type of JPanel for the dedicated purpose of drawing some sort of node or tree onto the panel. Everything within the class is implemented except the draw method. This must be implemented by extending class to activate the drawing.

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
DrawingJPanel()
          Sole Constructor for the JPanel that draws.
 
Method Summary
 void componentHidden(java.awt.event.ComponentEvent e)
          Called when the component is hidden.
 void componentMoved(java.awt.event.ComponentEvent e)
          Called when the component is Moved.
 void componentResized(java.awt.event.ComponentEvent e)
          Called when the component is Resized.
 void componentShown(java.awt.event.ComponentEvent e)
          Called when the component is Shown.
protected  void draw()
          Method actually called to complete the drawing of the panel.
protected  void drawTree()
          Draws onto the defined draw tree graphic.
 java.awt.geom.Rectangle2D getDrawingArea()
          Gets the drawing area for this panel.
 java.awt.Graphics2D getDrawTreeGraphics()
          Gets the draw Tree Graphics for this panel.
 java.awt.image.BufferedImage getDrawTreeImage()
          Gets the draw Tree Image for this panel.
 boolean isComponentShown()
          Sets whether the tree is shown or not.
 boolean isDrawTree()
          Gets whether the tree needs to be redrawn.
protected  void makeDrawTreeGraphics()
          Makes the drawing graphics.
protected  void makeDrawTreeImage()
          Makes the drawing image.
 void paintComponent(java.awt.Graphics g)
          Draws the JPanel.
 void setComponentShown(boolean componentShown)
          Sets whether the tree is shown or not.
protected  void setDrawingArea(java.awt.Rectangle drawingArea)
          Sets the drawing area for this panel.
 void setDrawTree(boolean drawTree)
          Sets whether the tree needs drawing.
protected  void setDrawTreeGraphics(java.awt.Graphics2D drawTreeGraphics)
          Sets the draw Tree graphics for this panel.
protected  void setDrawTreeImage(java.awt.image.BufferedImage drawTreeImage)
          Sets the draw Tree Image for this panel.
 
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, paint, paintBorder, paintChildren, 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, update
 
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

DrawingJPanel

public DrawingJPanel()
Sole Constructor for the JPanel that draws. The super constructor is called. Additionally, the default background is set as white and the comoponent adds it to listen to itself.

Method Detail

getDrawTreeImage

public java.awt.image.BufferedImage getDrawTreeImage()
Gets the draw Tree Image for this panel.

Returns:
BufferedImage set as the drawing image.

getDrawTreeGraphics

public java.awt.Graphics2D getDrawTreeGraphics()
Gets the draw Tree Graphics for this panel.

Returns:
Graphics2D set as the drawing graphics.

isDrawTree

public boolean isDrawTree()
Gets whether the tree needs to be redrawn.


isComponentShown

public boolean isComponentShown()
Sets whether the tree is shown or not.

Returns:
boolean flag as to whether the tree is shown.

getDrawingArea

public java.awt.geom.Rectangle2D getDrawingArea()
Gets the drawing area for this panel.

Returns:
Rectangle2D rectangle set as the drawing area.

setDrawTreeImage

protected void setDrawTreeImage(java.awt.image.BufferedImage drawTreeImage)
Sets the draw Tree Image for this panel.

Parameters:
drawTreeImage - BufferedImage set as the drawing image.

setDrawTreeGraphics

protected void setDrawTreeGraphics(java.awt.Graphics2D drawTreeGraphics)
Sets the draw Tree graphics for this panel.


setDrawTree

public void setDrawTree(boolean drawTree)
Sets whether the tree needs drawing.


setComponentShown

public void setComponentShown(boolean componentShown)
Sets whether the tree is shown or not.

Parameters:
componentShown - boolean flag as to whether the tree is shown.

setDrawingArea

protected void setDrawingArea(java.awt.Rectangle drawingArea)
Sets the drawing area for this panel. Keeps the Rectangle for usage in drawing.

Parameters:
drawingArea - Rectangle2D rectangle set as the drawing area.

draw

protected void draw()
Method actually called to complete the drawing of the panel. WIthin this class, the method is empty. It must be overiden for anything to be drawn in the call.


makeDrawTreeImage

protected void makeDrawTreeImage()
Makes the drawing image. An image is used because the tree might not always need to be redrawn, saving time.


makeDrawTreeGraphics

protected void makeDrawTreeGraphics()
Makes the drawing graphics. Uses the image made from makeDrawTreeImage.


drawTree

protected void drawTree()
Draws onto the defined draw tree graphic. This method is the only call to the draw method.


paintComponent

public void paintComponent(java.awt.Graphics g)
Draws the JPanel. This overides the paintComponent of JPanel, to draw the appropriate image and redraw the graphic if necessary. The drawing is double buffered automatically, but the image is only modified on resizing and a change of node. Therefore, dragging, hiding and so forth, do not change the image.

Overrides:
paintComponent in class javax.swing.JComponent
Parameters:
g - Graphics used to draw to the component.

componentHidden

public void componentHidden(java.awt.event.ComponentEvent e)
Called when the component is hidden. Sets the componentShown as false.

Specified by:
componentHidden in interface java.awt.event.ComponentListener
Parameters:
e - ComponentEvent not used for this particular listening.

componentMoved

public void componentMoved(java.awt.event.ComponentEvent e)
Called when the component is Moved. No action occurs here.

Specified by:
componentMoved in interface java.awt.event.ComponentListener
Parameters:
e - ComponentEvent not used for this particular listening.

componentShown

public void componentShown(java.awt.event.ComponentEvent e)
Called when the component is Shown. Sets the componentShown as true.

Specified by:
componentShown in interface java.awt.event.ComponentListener
Parameters:
e - ComponentEvent not used for this particular listening.

componentResized

public void componentResized(java.awt.event.ComponentEvent e)
Called when the component is Resized. The image is modified according to the resizing of the Component.

Specified by:
componentResized in interface java.awt.event.ComponentListener
Parameters:
e - ComponentEvent not used for this particular listening.