Breakout Problem Set Javadocs

Class GraphicalSemaphore

  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Panel
              extended bycs101.util.semaphore.GraphicalSemaphore
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer,
Direct Known Subclasses:

public abstract class GraphicalSemaphore
extends java.awt.Panel

cs101.util.GraphicalSemaphore is the abstract super class for both the GBS (Graphical Binary semaphore) and the GCS (Graphical Counting semaphore).
It provides a common interface for the two sub-classes: gs.request(), gs.release() as well as doing alot of the graphical grunt work.
Copyright 1996 Massachusetts Institute of Technology

$Id:,v 2002/06/05 21:56:32 root Exp $
Todd C. Parnell,, Joshua R. Brown,
See Also:
GCS, GBS, Serialized Form

Nested Class Summary
Nested classes inherited from class java.awt.Panel
Nested classes inherited from class java.awt.Container
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
Field Summary
protected  java.awt.Panel display
          display panel for the semaphore
protected static int InstanceCounter
          Number of instances created
protected  java.awt.Label label
          label for the semaphore
protected  int myNumber
          my number in the InstanceCount(er)
Fields inherited from class java.awt.Component
Fields inherited from interface java.awt.image.ImageObserver
Constructor Summary
GraphicalSemaphore(java.lang.String label)
          Creates some of the GUI objects needed by it's subclasses.
Method Summary
 java.awt.Dimension getMinimumSize()
          Determines the mininum size necessary for this component.
 java.awt.Dimension getPreferredSize()
          Determines the preferedSize necessary for this component.
abstract  void release()
          abstract - must be overidden in subclass
abstract  void request()
          abstract - must be overidden in subclass
protected  void setupGUI()
          This method should be Called by the subclass after it's part of the gui setup is complete.
protected abstract  void showStatus()
          abstract - must be overidden in subclass
Methods inherited from class java.awt.Panel
addNotify, getAccessibleContext
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, 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


protected static int InstanceCounter
Number of instances created


protected int myNumber
my number in the InstanceCount(er)


protected java.awt.Label label
label for the semaphore


protected java.awt.Panel display
display panel for the semaphore

Constructor Detail


public GraphicalSemaphore(java.lang.String label)
Creates some of the GUI objects needed by it's subclasses. Creates a panel to display the semaphore in and a label with the text passed.

label - A string that will identify the semaphore in the display.
Method Detail


protected void setupGUI()
This method should be Called by the subclass after it's part of the gui setup is complete. It expects the the display Panel has been initialized by the subclss. It Adds the completed gui components to the panel.


protected abstract void showStatus()
abstract - must be overidden in subclass


public abstract void request()
abstract - must be overidden in subclass


public abstract void release()
abstract - must be overidden in subclass


public java.awt.Dimension getMinimumSize()
Determines the mininum size necessary for this component. Called by this objects container.

the minimum size of the object


public java.awt.Dimension getPreferredSize()
Determines the preferedSize necessary for this component. Called by this objects container.

the preferred size of the object

Breakout Problem Set Javadocs