Class FenetreJeu

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--FenetreJeu

public class FenetreJeu
extends javax.swing.JPanel
implements java.lang.Runnable, java.awt.event.KeyListener

Fenetre qui affiche le jeu, le hero et les monstres et les evenements claviers.

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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
 
Constructor Summary
FenetreJeu(FenetrePrincipale fp)
          Construit la zone de jeu.
 
Method Summary
 void chargeToi(java.lang.String fichierACharger)
          Elle charge le fichier courant.
 void finDuJeu(java.lang.String image)
          Elle est appellee quand on a fini tous les niveaux ou quand on a perdu.
 Heros getHeros()
          Pour acceder au heros courant.
 java.awt.Dimension getMinimunDimension()
          La taille minimale de la fenetre de visualisation.
 java.awt.Dimension getPreferredSize()
          Pour que la fenetre dessinee fasse au moins une taille minimale.
 void initialise()
          Elle charge les dalles, les echelles, les cadeaux et cree le heros et les monstres.
 void initialiseToi()
          Elle est lancee au demarrage et est identique a la methode initialise() a part qu'on lui affecte un thread.
 boolean isFocusTraversable()
          Elle est definie pour que les actions des touches fonctionnent sous Windows.
 void keyPressed(java.awt.event.KeyEvent keyevent)
          Gestion des evenements sur le clavier
 void keyReleased(java.awt.event.KeyEvent e)
          Gestion des evenements sur le clavier
 void keyTyped(java.awt.event.KeyEvent keyevent)
          Gestion des evenements sur le clavier
 void lanceThread()
          Elle cree un thread et le met en marche .
 void niveauSuivant()
          Elle est appellee lorsque le heros a fini le tableau.
 void nouveau()
          Elle est appelle quand on clique dans le menu Fichier et le sous menu nouveau.
 void paintComponent(java.awt.Graphics g)
          Elle se charge de dessiner le decors, le heros et les monstres en utilisant le double buffer.
 void pause()
          Elle est appelle quand on veut arreter momentanement le jeu.
 void run()
          Elle gere le thread qui dessine le JPanel
 void sauvegardeToi(java.lang.String fichierDeSauvegarde)
          Elle sauve le fichier courant pour le recharger ulterieurement.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUIClassID, paramString, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, processComponentKeyEvent, processFocusEvent, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hide, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FenetreJeu

public FenetreJeu(FenetrePrincipale fp)
Construit la zone de jeu.
Parameters:
fp - La fenetre dans laquelle se deroule le jeu.
Method Detail

initialiseToi

public void initialiseToi()
Elle est lancee au demarrage et est identique a la methode initialise() a part qu'on lui affecte un thread.

lanceThread

public void lanceThread()
Elle cree un thread et le met en marche .

initialise

public void initialise()
Elle charge les dalles, les echelles, les cadeaux et cree le heros et les monstres. On affecte l'observer FenetrePrincipale a l'observable qui est notre hero.

niveauSuivant

public void niveauSuivant()
Elle est appellee lorsque le heros a fini le tableau.

finDuJeu

public void finDuJeu(java.lang.String image)
Elle est appellee quand on a fini tous les niveaux ou quand on a perdu.
Parameters:
image - L'image appellee si on a perdu ou fini le jeu.

nouveau

public void nouveau()
Elle est appelle quand on clique dans le menu Fichier et le sous menu nouveau. Elle nous place au premier level et remet a 0 le score, le nombre de dynamite et restaure le nombre de vies.

pause

public void pause()
Elle est appelle quand on veut arreter momentanement le jeu. Si l'on veut repartir on doit l'appeler une deuxieme fois.

isFocusTraversable

public boolean isFocusTraversable()
Elle est definie pour que les actions des touches fonctionnent sous Windows.
Returns:
true Necessaire pour que les touches fonctionnent sous Windows.
Overrides:
isFocusTraversable in class javax.swing.JComponent

sauvegardeToi

public void sauvegardeToi(java.lang.String fichierDeSauvegarde)
Elle sauve le fichier courant pour le recharger ulterieurement.
Parameters:
fichierDeSauvegarde - Le nom du fichier sauvegardee.

chargeToi

public void chargeToi(java.lang.String fichierACharger)
Elle charge le fichier courant.
Parameters:
fichierACharger - c'est le nom du fichier charge.

paintComponent

public final void paintComponent(java.awt.Graphics g)
Elle se charge de dessiner le decors, le heros et les monstres en utilisant le double buffer.
Parameters:
g - C'est le graphics que l'on va dessiner.
Overrides:
paintComponent in class javax.swing.JComponent

run

public void run()
Elle gere le thread qui dessine le JPanel
Specified by:
run in interface java.lang.Runnable

getMinimunDimension

public java.awt.Dimension getMinimunDimension()
La taille minimale de la fenetre de visualisation.
Returns:
une fenetre (largeur * hauteur).

getPreferredSize

public java.awt.Dimension getPreferredSize()
Pour que la fenetre dessinee fasse au moins une taille minimale.
Returns:
Dimension La taille de la fenetre.
Overrides:
getPreferredSize in class javax.swing.JComponent

getHeros

public Heros getHeros()
Pour acceder au heros courant.
Returns:
heros retourne le heros courant.

keyTyped

public void keyTyped(java.awt.event.KeyEvent keyevent)
Gestion des evenements sur le clavier
Specified by:
keyTyped in interface java.awt.event.KeyListener
Parameters:
keyEvent - touche clavier utilisee

keyPressed

public void keyPressed(java.awt.event.KeyEvent keyevent)
Gestion des evenements sur le clavier
Specified by:
keyPressed in interface java.awt.event.KeyListener
Parameters:
keyEvent - touche clavier utilisee

keyReleased

public void keyReleased(java.awt.event.KeyEvent e)
Gestion des evenements sur le clavier
Specified by:
keyReleased in interface java.awt.event.KeyListener
Parameters:
keyEvent - touche clavier utilisee