org.problets.lib.conceptmap.view
Class ForestView

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.problets.lib.conceptmap.view.ForestView
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Direct Known Subclasses:
CollapsibleForestView, NavigableForestView, UserBuiltForestView

public abstract class ForestView
extends javax.swing.JPanel

Performs the painting of the forest model and handles the mouse listener events (or rather passes them down to each individual tree view).

Author:
Adrian Maries
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.BaselineResizeBehavior
 
Field Summary
static int DEFAULT_NUMBER_OF_COLUMNS
          The default number of columns for the grid (forest view)
static int DEFAULT_NUMBER_OF_ROWS
          The default number of rows for the grid (forest view)
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, 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
ForestView(ForestModel inForestModel, StudentActionLog inForestStudent)
          Creates the forest view using the forest model and the type of the forest as argument.
 
Method Summary
 int getMaxDepth()
          Returns the maximum depth of the trees in the forest.
 int getNumberOfColumns()
          Returns the width of the grid.
 int getNumberOfRows()
          Returns the height of the grid.
 int getNumTreeViews()
          Returns the number of tree views of the forest view.
 boolean handleMouseClicked(int xCoord, int yCoord)
          Handles the mouseClicked event.
 boolean handleMouseDragged(int xCoord, int yCoord)
          Handles the mouseDragged event and then dragged and false otherwise.
 boolean handleMouseMoved(int xCoord, int yCoord)
          Handles the mouseMoved event.
 MousePressedInfo handleMousePressed(java.awt.event.MouseEvent e)
          Handles the mousePressed event.
 boolean handleMouseReleased(int xCoord, int yCoord)
          Handles the mouseReleased event and false otherwise.
static void main(java.lang.String[] args)
           
 void paintComponent(java.awt.Graphics g)
          Performs the painting of the forest view.
 void setCoord(int width, int height, int horizSpacing, int verticalSpacing)
          Set the coordinates of each node view.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, 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, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, 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, 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, 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
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_NUMBER_OF_ROWS

public static final int DEFAULT_NUMBER_OF_ROWS
The default number of rows for the grid (forest view)

See Also:
Constant Field Values

DEFAULT_NUMBER_OF_COLUMNS

public static final int DEFAULT_NUMBER_OF_COLUMNS
The default number of columns for the grid (forest view)

See Also:
Constant Field Values
Constructor Detail

ForestView

public ForestView(ForestModel inForestModel,
                  StudentActionLog inForestStudent)
Creates the forest view using the forest model and the type of the forest as argument.

Parameters:
inForestModel - the forest model this forest view represents
inForestType - the type of the forest view
Method Detail

paintComponent

public void paintComponent(java.awt.Graphics g)
Performs the painting of the forest view.

Overrides:
paintComponent in class javax.swing.JComponent
Parameters:
g - the graphics context

getNumTreeViews

public int getNumTreeViews()
Returns the number of tree views of the forest view.

Returns:
the number of tree views of the forest view

getNumberOfRows

public int getNumberOfRows()
Returns the height of the grid.

Returns:
the height of the grid

getNumberOfColumns

public int getNumberOfColumns()
Returns the width of the grid.

Returns:
the width of the grid

getMaxDepth

public int getMaxDepth()
Returns the maximum depth of the trees in the forest.

Returns:
the maximum depth of the trees in the forest

setCoord

public void setCoord(int width,
                     int height,
                     int horizSpacing,
                     int verticalSpacing)
Set the coordinates of each node view.

Parameters:
width - the width of one node view
height - the height of one node view
horizSpacing - the width of one cell in the grid
verticalSpacing - the height of one cell in the grid

handleMouseClicked

public boolean handleMouseClicked(int xCoord,
                                  int yCoord)
Handles the mouseClicked event.

Parameters:
xCoord - the x-coordinate of the mouse event
yCoord - the y-coordinate of the mouse event
Returns:
true if a click occurred inside the forest view, false otherwise

handleMouseMoved

public boolean handleMouseMoved(int xCoord,
                                int yCoord)
Handles the mouseMoved event.

Parameters:
xCoord - the x-coordinate of the mouse event
yCoord - the y-coordinate of the mouse event
Returns:
true if the mouse has been moved onto the forest view (but no buttons have been pressed), false otherwise

handleMousePressed

public MousePressedInfo handleMousePressed(java.awt.event.MouseEvent e)
Handles the mousePressed event.

Parameters:
e - the mousePressed event
Returns:
a MousePressedInfo object

handleMouseReleased

public boolean handleMouseReleased(int xCoord,
                                   int yCoord)
Handles the mouseReleased event and false otherwise.

Parameters:
xCoord - the x-coordinate of the mouse event
yCoord - the y-coordinate of the mouse event
Returns:
true if the mouse has been released on the forest, false otherwise

handleMouseDragged

public boolean handleMouseDragged(int xCoord,
                                  int yCoord)
Handles the mouseDragged event and then dragged and false otherwise.

Parameters:
xCoord - the x-coordinate of the mouse event
yCoord - the y-coordinate of the mouse event
Returns:
true if the mouse has been pressed on the forest and dragged, false otherwise

main

public static void main(java.lang.String[] args)