Class ParkingLot

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--javax.swing.JFrame
                                |
                                +--javabook2.MainWindow
                                      |
                                      +--javabook2.DrawingBoard
                                            |
                                            +--ParkingLot

public class ParkingLot
extends javabook2.DrawingBoard

A representation of a physical parkinglot. Cars can be put in the parkinglot as long as it isn't full. Car's can be removed from the parkinglot as long as there are cars in the lot. Also an iterator class called CarCollection can be made to list all the cars in the lot.

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Field Summary
static int MAX_SIZE
          the maximum number of cars in the lot
 
Fields inherited from class javax.swing.JFrame
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Constructor Summary
ParkingLot()
          constructor for the class
 
Method Summary
 boolean addCar(Car c, Person p)
          Adds a car to the lot as long as the lot isn't full.
 CarCollection getCarCollection()
          Returns an iterator to see the list of cars parked in the lot.
 int numCars()
          The number of cars currently in the lot.
 Person randomPerson()
          Generates a random person from the list of people who have parked there cars in the lot.
 void refresh()
          Updates the window showing the cars.
 void removeCar(Car c)
          Removes the car from the lot as long as car is in lot.
 void setVisible()
          Makes the graphical window representing the parkinglot visible
 
Methods inherited from class javabook2.DrawingBoard
drawCircle, drawLine, drawRectangle, drawRectangle, setColor, setVisible, show
 
Methods inherited from class javabook2.MainWindow
moveToCenter
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isRootPaneCheckingEnabled, paramString, processKeyEvent, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getFrames, getIconImage, getMenuBar, getState, getTitle, isResizable, remove, removeNotify, setCursor, setIconImage, setMenuBar, setResizable, setState, setTitle
 
Methods inherited from class java.awt.Window
addWindowListener, applyResourceBundle, applyResourceBundle, dispose, getFocusOwner, getInputContext, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, hide, isShowing, pack, postEvent, processEvent, removeWindowListener, setCursor, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFont, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, isLightweight, isOpaque, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processInputMethodEvent, processMouseEvent, processMouseMotionEvent, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

MAX_SIZE

public static final int MAX_SIZE
the maximum number of cars in the lot
Constructor Detail

ParkingLot

public ParkingLot()
constructor for the class
Method Detail

setVisible

public void setVisible()
Makes the graphical window representing the parkinglot visible

numCars

public int numCars()
The number of cars currently in the lot.

addCar

public boolean addCar(Car c,
                      Person p)
Adds a car to the lot as long as the lot isn't full.
Parameters:
c - The car to be added.
p - The owner of the car.

removeCar

public void removeCar(Car c)
Removes the car from the lot as long as car is in lot.
Parameters:
c - the car to be removed. If car is not in lot will throw error.

randomPerson

public Person randomPerson()
Generates a random person from the list of people who have parked there cars in the lot.

getCarCollection

public CarCollection getCarCollection()
Returns an iterator to see the list of cars parked in the lot.

refresh

public void refresh()
Updates the window showing the cars. Currently not implemented.