Class GameWindow

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--GameWindow
All Implemented Interfaces:
javax.accessibility.Accessible, GameWindowInterface, ImageObserver, MenuContainer, Serializable

public class GameWindow
extends Frame
implements GameWindowInterface

Klasse zur Darstellung eines 12 mal 12 grossen Spielfeldes fuer das Schiffe-Versenken-Spiel. Die Darstellung erfolgt anhand einer dem Konstruktor uebergebenen Field-Referenz, welche die aktuelle Belegung der einzelnen Spielfelder beinhaltet. Jedes Spiel sollte zwei Field-Objekte haben (eines fuer die eigenen Schiffe und die Treffer des Gegners und ein anfangs leeres Field-Objekt, das die Ergebnisse der eigenen Schuesse auf das gegnerische Spielfeld beinhalten. Dementsprechend sollten auch zwei Spielfenster geoeffnet werden, in denen beide Felder dargestellt werden.

See Also:
Serialized Form

Inner classes inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Inner classes inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Inner classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
Component.AccessibleAWTComponent
 
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
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
GameWindow(String title, Field field, boolean opponentWindow)
          Konstruktor fuer das Spielfenster.
 
Method Summary
 void set_message(String message)
          Setzt den Text, der im oberen Teil des Fensters als Informationstext dargestellt wird.
 void update(Graphics g)
          Sorgt dafuer, dass das Fenster beim Neuzeichnen nicht vorher geloescht wird.
 int[] wait_click()
          Wartet auf einen Mausklick und liefert die Spielfeldposition zurueck.
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getAccessibleContext, getCursorType, getFrames, getIconImage, getMenuBar, getState, getTitle, isResizable, paramString, remove, removeNotify, setCursor, setIconImage, setMenuBar, setResizable, setState, setTitle
 
Methods inherited from class java.awt.Window
addWindowListener, applyResourceBundle, applyResourceBundle, dispose, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, hide, isShowing, pack, postEvent, processEvent, processWindowEvent, removeWindowListener, setCursor, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, 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, remove, removeAll, removeContainerListener, setFont, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, 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, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, 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, setVisible, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface GameWindowInterface
repaint
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Constructor Detail

GameWindow

public GameWindow(String title,
                  Field field,
                  boolean opponentWindow)
Konstruktor fuer das Spielfenster. Das uebergebene Field-Objekt enthaelt alle Informationen ueber die einzelnen Spielfelder und wird als Referenz gespeichert. Bei Aenderungen in der Spielfeldbelegung muss die repaint() Methode fuer das zugehoerige Fenster aufgerufen werden. Zusaetzlich zum Field-Objekt kann noch ein Fenstertitel uebergeben werden. Wenn das Argument opponentWindow auf TRUE gesetzt ist, dann handelt es sich um das Fenster, in dem man die eigenen Schuesse plaziert und die Treffer beim Gegner angezeigt bekommt.
Parameters:
title - Titel des Fensters
field - Field-Objekt, in dem die Spielfeldbelegungen dieses Fensters gespeichert sind
opponentWindow - TRUE, wenn es sich um das Fenster mit der Spielfeldbelegung des Gegners handelt
Method Detail

wait_click

public int[] wait_click()
Wartet auf einen Mausklick und liefert die Spielfeldposition zurueck.
Specified by:
wait_click in interface GameWindowInterface
Returns:
Array mit der Spielfeldposition [0] = Zeile, [1] = Spalte

set_message

public void set_message(String message)
Setzt den Text, der im oberen Teil des Fensters als Informationstext dargestellt wird. Hier koennen z.B. Informationen, wie "Schiff versenkt!" oder "Kontrahent ist dran!" dargestellt werden. Nach dem Aufruf dieser Methode wird das Fenster automatisch neu gezeichnet.
Specified by:
set_message in interface GameWindowInterface
Parameters:
message - Text, der als Information dargestellt werden soll

update

public void update(Graphics g)
Sorgt dafuer, dass das Fenster beim Neuzeichnen nicht vorher geloescht wird.
Overrides:
update in class Container