Class MainApp

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Frame
                  extended byjavax.swing.JFrame
                      extended byMainApp
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.lang.Runnable, java.io.Serializable, javax.swing.WindowConstants

public class MainApp
extends javax.swing.JFrame
implements java.lang.Runnable, java.awt.event.ActionListener

Mainklassen med main-metoden. Innehåller alla grafiska komponenter som ritas upp. Startar en ServerSocket vid exekevering.Innehåller även 2 st nästlade lyssnarklasser BoatButtonLyss och EnemyButtonLyss.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, 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 javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
MainApp()
          Ritar upp komponenterna i spelet.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent ae)
          En Lyssnarmetod som anropas när komponenten som den är kopplad till används.
 void checkHit(int h)
          Metoden kontrollerar om min BoatButton är träffad eller ej.
 void close()
          Metoden sköter nedstängningen av programmet.
 void connectToServer()
          Anropas vid uppkoppling mot en annans server.
 int getBoats()
          returnerar integern ships
static void main(java.lang.String[] args)
          Mainmetoden.
 void run()
          Skapar en ServerSocket.
 void setBoats(boolean b)
          Denna metod räknar antingen upp eller ner antalet ships.
 void setChatText(java.lang.String sr)
          Metoden tar en String och lägger till den chat fönstret (textArea)
 void setEnemyReady()
          Metoden sätter boolean enemyReady till true.
 void setHit(int vb)
          Metoden anropas då motståndaren blivit träffad
 void setLost()
          Metoden anropas då motståndaren har kommit upp i 12 träffar vilket i sin tur betyder att man har förlorat och informeras om detta.
 void setMiss(int vn)
          Metoden anropas då man har missat motståndaren.
 void setNrHit()
          Metoden räknar upp antalet träffar (hits) som man har.
 void setStatus(java.lang.String h)
          Metoden sätter statusTexten vid anrop.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, 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, processMouseWheelEvent, 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, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Constructor Detail

MainApp

public MainApp()
Ritar upp komponenterna i spelet. Skapar 100 st BoatButton knappar samt 100 st EnemyButton knappar. Lägger lyssnare till knappar. Sätter ut komponenterna med SpringLayout. Konstruktorn startar en tråd i sin tur skapar en ServerSocket som lyssnar ifall en motståndare kopplar upp sig till den.

Method Detail

main

public static void main(java.lang.String[] args)
Mainmetoden. Kör igång MainApps konstruktor. Sätter om serverPort ifall ett argument skickas med.


run

public void run()
Skapar en ServerSocket. Har en whileloop som kollar om en motståndare kopplar upp sig, skapar isåfall en CommunicationThread som sköter kommunikationen med motståndaren.

Specified by:
run in interface java.lang.Runnable

connectToServer

public void connectToServer()
Anropas vid uppkoppling mot en annans server. Skapar en ny socket den angiven host och port.


getBoats

public int getBoats()
returnerar integern ships


setBoats

public void setBoats(boolean b)
Denna metod räknar antingen upp eller ner antalet ships. Metoden används vid utsättning av båtarna.

Parameters:
b - som bestämmer vad som skall göras i metoden. Vid true räknas ships ner och vid false räknas ships upp.

setChatText

public void setChatText(java.lang.String sr)
Metoden tar en String och lägger till den chat fönstret (textArea)

Parameters:
sr - är en String som läggs till i textArean(chatfönstret).

setEnemyReady

public void setEnemyReady()
Metoden sätter boolean enemyReady till true.


checkHit

public void checkHit(int h)
Metoden kontrollerar om min BoatButton är träffad eller ej. Skickar sedan svaret till ct (CommunicationThread) som skickar vidare det till motståndaren. Ändrar sen 2 booleans så att det blir min tur att skjuta.

Parameters:
h - är indexsiffran som används för att hitta rätt BoatButton ur buttonCollection.

setHit

public void setHit(int vb)
Metoden anropas då motståndaren blivit träffad

Parameters:
vb - är indexsiffran som används för att hitta rätt EnemyButton ur enemyButtonCollection. Den utvalda anropar EnemyButtons metod hit().

setMiss

public void setMiss(int vn)
Metoden anropas då man har missat motståndaren.

Parameters:
vn - är indexsiffran som används för att hitta rätt EnemyButton ur enemyButtonCollection. Den utvalda anropar EnemyButtons metod miss().

setNrHit

public void setNrHit()
Metoden räknar upp antalet träffar (hits) som man har. Ifall man har kommit upp i 12 träffar har man vunnit spelet och informeras om detta


setLost

public void setLost()
Metoden anropas då motståndaren har kommit upp i 12 träffar vilket i sin tur betyder att man har förlorat och informeras om detta.


close

public void close()
Metoden sköter nedstängningen av programmet. Stänger alla socketar och skickar meddelande till motståndaren("6:") att man kopplar ner sitt programm


setStatus

public void setStatus(java.lang.String h)
Metoden sätter statusTexten vid anrop.

Parameters:
h - är en String som används vid setText();

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent ae)
En Lyssnarmetod som anropas när komponenten som den är kopplad till används.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
ae - är det actionEvent som komponenten som används skickar med till metoden.