|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent edu.uah.math.devices.Forest
public class Forest
This class models a forest as a rectangular lattice of trees. Each tree at any time is in one of three states: healthy, on fire, or burnt. If a tree is on fire at time t, then any of the four neighboring green trees can catch fire at time t + 1 with specified probabilities. Trees catch on fire independently. A tree on fire at time t is burnt at time t + 1. Once a tree is burnt, it remains burnt.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class javax.swing.JComponent |
---|
javax.swing.JComponent.AccessibleJComponent |
Nested classes/interfaces inherited from class java.awt.Container |
---|
java.awt.Container.AccessibleAWTContainer |
Nested classes/interfaces inherited from class java.awt.Component |
---|
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
Field Summary | |
---|---|
static int |
BURNT
|
static int |
DOWN
|
static int |
HEALTHY
|
static int |
LEFT
|
static int |
ON_FIRE
|
static int |
RIGHT
|
static int |
UP
|
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 | |
---|---|
Forest()
This default constructor creates a new forest with 100 rows and 100 columns, default fire spread probabilities 0.5, and default tree size 5. |
|
Forest(int c,
int r)
This special constructor creates a new forest with a specified number of rows and columns, fire spread probabilities 0.5, and with default tree size 5. |
|
Forest(int c,
int r,
double[] p)
This special constructor creates a new forest with a specified number of rows and columns, specified fire spread probabilities, and with default tree size 5. |
|
Forest(int c,
int r,
double[] p,
int s)
This general constructor creates a new forest with a specified number of rows and columns, specified fire spread probabilities, and a preferred tree size. |
Method Summary | |
---|---|
void |
burn()
This method lets the forest burn for one time unit. |
java.awt.Color |
getBurntColor()
This method returns the color of burnt trees |
int |
getColumns()
This method gets the number of columns in the forest lattice. |
int |
getEditState()
This method returns the edit state. |
java.awt.Color |
getHealthyColor()
This method returns the color of healthy trees |
java.awt.Color |
getOnFireColor()
This method returns the color of on fire trees |
double[] |
getProbabilities()
This method returns the array of fire spread probabilities. |
double |
getProbabilities(int i)
This method gets the fire spread probabilities. |
int |
getRows()
This method gets the number of rows in the forest lattice. |
int[][] |
getStates()
This method gets the array of states. |
int |
getStates(int x,
int y)
This method gets the state of an individual tree. |
void |
mouseClicked(java.awt.event.MouseEvent e)
This method handles the mouse click event.The selected tree is set to the currently specified state (ON_FIRE, HEALTHY, or BURNT). |
void |
mouseDragged(java.awt.event.MouseEvent event)
|
void |
mouseEntered(java.awt.event.MouseEvent event)
|
void |
mouseExited(java.awt.event.MouseEvent event)
|
void |
mouseMoved(java.awt.event.MouseEvent e)
This method handles the mouse move event. |
void |
mousePressed(java.awt.event.MouseEvent event)
|
void |
mouseReleased(java.awt.event.MouseEvent event)
|
void |
paintComponent(java.awt.Graphics g)
This method paints the forest. |
void |
reset()
This method resets the forest to a completely green forest. |
void |
setBurntColor(java.awt.Color c)
This method sets the color of the burnt trees. |
void |
setColumns(int c)
This method sets the number of columns in the forest lattice. |
void |
setEditState(int s)
This method sets the tree edit state. |
void |
setFire()
This method sets the tree in the center of the forest on fire. |
void |
setHealthyColor(java.awt.Color c)
This method sets the color of the healty trees. |
void |
setOnFireColor(java.awt.Color c)
This method sets the color of the on fire trees. |
void |
setParameters(int c,
int r)
|
void |
setParameters(int c,
int r,
int s)
This method sets the parameters: the number of rows, the number of columns, and the tree width. |
void |
setProbabilities(double[] p)
This method sets the array of fire spread probabilities. |
void |
setProbabilities(int i,
double p)
This method sets an individual fire spread probability. |
void |
setRows(int r)
This method sets the number of rows in the forest lattice. |
void |
setStates(int[][] s)
This method sets all of the states of the trees. |
void |
setStates(int x,
int y,
int s)
This method sets the state of a specified tree. |
int |
treesBurnt()
This method returns the number of burnt trees. |
int |
treesHealthy()
This method returns the number of green trees. |
int |
treesOnFire()
This method returns the number of trees that are on fire. |
Methods inherited from class javax.swing.JComponent |
---|
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, 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, 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, firePropertyChange, 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, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, 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 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int HEALTHY
public static final int ON_FIRE
public static final int BURNT
public static final int LEFT
public static final int RIGHT
public static final int DOWN
public static final int UP
Constructor Detail |
---|
public Forest(int c, int r, double[] p, int s)
c
- the number of columnsr
- the number of rowsp
- the array of fire spread probabilitiess
- the preferred tree sizepublic Forest(int c, int r, double[] p)
c
- the number of columnsr
- the number of rowsp
- the array of probabilitiespublic Forest(int c, int r)
c
- the number of columnsr
- the number of rowspublic Forest()
Method Detail |
---|
public void setParameters(int c, int r, int s)
c
- the number of columnsr
- the number of rowss
- the size of a treepublic void setParameters(int c, int r)
public void setColumns(int c)
c
- the number of columnspublic int getColumns()
public void setRows(int r)
r
- the number of rowspublic int getRows()
public void setProbabilities(double[] p)
p
- the array of probabilitiespublic void setProbabilities(int i, double p)
i
- the index (0 left, 1 right, 2 down, 3 up).p
- the probabilitypublic double[] getProbabilities()
public double getProbabilities(int i)
i
- direction index (LEFT, RIGHT, DOWN, UP)
public void setEditState(int s)
s
- the new state (ON_FIRE, BURNT, HEALTHY)public int getEditState()
public void setStates(int x, int y, int s)
x
- the x coordinate of the treey
- the y coordinate of the trees
- the new state (ON_FIRE, BURNT, HEALTHY)public void setStates(int[][] s)
s
- the double array of statespublic int[][] getStates()
public int getStates(int x, int y)
x
- the column numbery
- the row number
public void setFire()
public void paintComponent(java.awt.Graphics g)
paintComponent
in class javax.swing.JComponent
g
- the graphics contextpublic void burn()
public void reset()
public int treesOnFire()
public int treesBurnt()
public int treesHealthy()
public void mouseClicked(java.awt.event.MouseEvent e)
mouseClicked
in interface java.awt.event.MouseListener
e
- the mouse eventpublic void mouseMoved(java.awt.event.MouseEvent e)
mouseMoved
in interface java.awt.event.MouseMotionListener
e
- the mouse eventpublic void setHealthyColor(java.awt.Color c)
c
- the color of healthy treespublic java.awt.Color getHealthyColor()
public void setOnFireColor(java.awt.Color c)
c
- the color of on fire treespublic java.awt.Color getOnFireColor()
public void setBurntColor(java.awt.Color c)
c
- the color of burnt treespublic java.awt.Color getBurntColor()
public void mouseEntered(java.awt.event.MouseEvent event)
mouseEntered
in interface java.awt.event.MouseListener
public void mouseExited(java.awt.event.MouseEvent event)
mouseExited
in interface java.awt.event.MouseListener
public void mousePressed(java.awt.event.MouseEvent event)
mousePressed
in interface java.awt.event.MouseListener
public void mouseReleased(java.awt.event.MouseEvent event)
mouseReleased
in interface java.awt.event.MouseListener
public void mouseDragged(java.awt.event.MouseEvent event)
mouseDragged
in interface java.awt.event.MouseMotionListener
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |