Package graphics
Class OceanCanvas
java.lang.Object
java.awt.Component
java.awt.Canvas
graphics.OceanCanvas
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
,OceanReporter
- Direct Known Subclasses:
BasicOceanCanvas
Fournit un rapporteur (voir l'interface
OceanReporter
) qui peint
l'océan dans une fenêtre utilisant java.awt.Frame
.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class java.awt.Canvas
Canvas.AccessibleAWTCanvas
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Modifier and TypeFieldDescriptionprotected final int
La taille d'une cellule de l'océan (son sens précis dépend du maillage)protected final Frame
La fenêtre où l'océan sera peintprotected Ocean
Référence vers l'océan à peindreprotected static final long
Fields inherited from class java.awt.Component
accessibleContext, 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
ConstructorDescriptionOceanCanvas
(String title) Crée un canevas en utilisant la taille de cellule par défaut (10 points)OceanCanvas
(String title, int cellSize) Crée un canevas et une fenêtre pour afficher le labyrinthe dedans -
Method Summary
Modifier and TypeMethodDescriptionvoid
Appelée lorsque l'activation est annulée par un des rapporteursvoid
Appelée lorsque la désactivation est annulée par un des rapporteursprotected Color
colorFromMark
(int mark) Méthode auxiliaireprotected abstract int
Calcule la largeur du canevas nécessaire pour que l'océan y tienneprotected abstract int
Calcule la hauteur du canevas nécessaire pour que l'océan y tienneprotected abstract void
Méthode auxiliaire pour dessiner une celluleprotected abstract void
Méthode auxiliaire pour dessiner une marquevoid
finish()
Attend une secondevoid
initialise
(Ocean ocean) Définit la taille de la fenêtre en fonction de celle de l'océanboolean
Appelée lorsque quelqu'un tente d'activer le rapporteurboolean
Appelée lorsque quelqu'un tente de désactiver le rapporteurvoid
Peint l'océan dans la fenêtrevoid
report
(Coordinate current, Mark old) Rafraîchit la fenêtre lorsque le marquage de l'océan évoluestatic void
slow()
Méthode auxiliaire pour ralentir l'exploration de 10 millisecondesstatic void
slow
(int duration) Méthode auxiliaire pour ralentir l'exploration afin qu'elle soit observable à l'œilvoid
Replique le comportement deCanvas.update(Graphics g)
sans effacer avant pour eviter que l'image ne clignote lors d'un rafraichissement de la fenêtreMethods inherited from class java.awt.Canvas
addNotify, createBufferStrategy, createBufferStrategy, getAccessibleContext, getBufferStrategy
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setMixingCutoutShape, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, validate
-
Field Details
-
serialVersionUID
protected static final long serialVersionUID- See Also:
-
frame
La fenêtre où l'océan sera peint -
ocean
Référence vers l'océan à peindre -
cellSize
protected final int cellSizeLa taille d'une cellule de l'océan (son sens précis dépend du maillage)
-
-
Constructor Details
-
OceanCanvas
Crée un canevas et une fenêtre pour afficher le labyrinthe dedans- Parameters:
title
- texte à afficher dans la barre de titre de à la fenêtrecellSize
- la taille d'une cellule
-
OceanCanvas
Crée un canevas en utilisant la taille de cellule par défaut (10 points)- Parameters:
title
- texte à afficher dans la barre de titre de à la fenêtre
-
-
Method Details
-
computeSizeX
protected abstract int computeSizeX()Calcule la largeur du canevas nécessaire pour que l'océan y tienne- Returns:
- la largeur du canevas en pixels
-
computeSizeY
protected abstract int computeSizeY()Calcule la hauteur du canevas nécessaire pour que l'océan y tienne- Returns:
- la hauteur du canevas en pixels
-
initialise
Définit la taille de la fenêtre en fonction de celle de l'océan- Specified by:
initialise
in interfaceOceanReporter
- Parameters:
ocean
- la référence de l'océan qui sera exploré
-
report
Rafraîchit la fenêtre lorsque le marquage de l'océan évolue- Specified by:
report
in interfaceOceanReporter
- Parameters:
current
- non utiliséold
- non utilisés
-
finish
public void finish()Attend une seconde- Specified by:
finish
in interfaceOceanReporter
-
update
Replique le comportement deCanvas.update(Graphics g)
sans effacer avant pour eviter que l'image ne clignote lors d'un rafraichissement de la fenêtre -
colorFromMark
Méthode auxiliaireConvertit la valeur d'une marque dans une couleur pour l'affichage graphique
- Parameters:
mark
- la valeur à convertir- Returns:
- la couleur correspondante
-
drawCell
Méthode auxiliaire pour dessiner une cellule- Parameters:
g
- contexte graphiquex
- coordonnée x du point de référencey
- coordonnée y du point de référencesize
- parametre définissant la taille de la cellule (l'utilisation peut varier en fonction de la forme de la cellule)
-
drawMark
Méthode auxiliaire pour dessiner une marque- Parameters:
g
- contexte graphiquex
- coordonnée x du point de référencey
- coordonnée y du point de référencesize
- parametre définissant la taille de la cellule (l'utilisation peut varier en fonction de la forme de la cellule)
-
paint
Peint l'océan dans la fenêtre -
slow
public static void slow(int duration) Méthode auxiliaire pour ralentir l'exploration afin qu'elle soit observable à l'œil- Parameters:
duration
- nombre de millisecondes à atteindre
-
slow
public static void slow()Méthode auxiliaire pour ralentir l'exploration de 10 millisecondes -
notifySuspension
public boolean notifySuspension()Description copied from interface:OceanReporter
Appelée lorsque quelqu'un tente de désactiver le rapporteur- Specified by:
notifySuspension
in interfaceOceanReporter
- Returns:
true
si la désactivation est acceptée
-
cancelSuspension
public void cancelSuspension()Description copied from interface:OceanReporter
Appelée lorsque la désactivation est annulée par un des rapporteurs- Specified by:
cancelSuspension
in interfaceOceanReporter
-
notifyActivation
public boolean notifyActivation()Description copied from interface:OceanReporter
Appelée lorsque quelqu'un tente d'activer le rapporteur- Specified by:
notifyActivation
in interfaceOceanReporter
- Returns:
true
si l'activation est acceptée
-
cancelActivation
public void cancelActivation()Description copied from interface:OceanReporter
Appelée lorsque l'activation est annulée par un des rapporteurs- Specified by:
cancelActivation
in interfaceOceanReporter
-