Package view
Class PanneauCarte
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
view.PanneauCarte
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,Accessible
Classe représentant le panneau graphique affichant la carte du jeu.
Cette vue gère l'affichage des cellules du donjon en mode graphique avec images,
l'interaction avec la souris et le clavier pour les déplacements et le zoom.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ControleurJeuRéférence vers le contrôleur pour envoyer les commandes.private final BufferedImageImages utilisées pour représenter les éléments de la carte.private final BufferedImageImages utilisées pour représenter les éléments de la carte.private final BufferedImageImages utilisées pour représenter les éléments de la carte.private final BufferedImageImages utilisées pour représenter les éléments de la carte.private final BufferedImageImages utilisées pour représenter les éléments de la carte.private final BufferedImageImages utilisées pour représenter les éléments de la carte.private final BufferedImageImages utilisées pour représenter les éléments de la carte.private final BufferedImageImages utilisées pour représenter les éléments de la carte.private com.google.gson.JsonArrayDernière grille JSON reçue du contrôleur.private intDernière taille de case et position de décalage (centrage)private intDernière taille de case et position de décalage (centrage)private intDernière taille de case et position de décalage (centrage)private static final longIdentifiant de version pour la sérialisation.private intNiveau de zoom : détermine la taille de la portion affichée (ex: 5x5).private intCoordonnées du centre du zoom (souvent position du joueur).private intCoordonnées du centre du zoom (souvent position du joueur).Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionPanneauCarte(ControleurJeu controleur, VueJeu vue) Constructeur de la vue de la carte. -
Method Summary
Modifier and TypeMethodDescriptionprivate com.google.gson.JsonObjectgetCell(int col, int lig) Récupère l’objet JSON représentant une cellule.private int[]getCellAt(int px, int py) Retourne les coordonnées (col, lig) de la cellule cliquée.private BufferedImageCharge une image depuis le dossier des ressources.protected voidRedessine l’ensemble de la carte.private StringtooltipCellule(com.google.gson.JsonObject cell, int col, int lig) Génère le contenu HTML de l'infobulle d'une cellule.Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateMethods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTreeMethods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDIdentifiant de version pour la sérialisation.- See Also:
-
controleur
Référence vers le contrôleur pour envoyer les commandes. -
imgSol
Images utilisées pour représenter les éléments de la carte. -
imgRoche
Images utilisées pour représenter les éléments de la carte. -
imgForet
Images utilisées pour représenter les éléments de la carte. -
imgEau
Images utilisées pour représenter les éléments de la carte. -
imgCoffre
Images utilisées pour représenter les éléments de la carte. -
imgJoueur
Images utilisées pour représenter les éléments de la carte. -
imgMonstre
Images utilisées pour représenter les éléments de la carte. -
imgMur
Images utilisées pour représenter les éléments de la carte. -
lastGrille
private com.google.gson.JsonArray lastGrilleDernière grille JSON reçue du contrôleur. -
lastTailleCase
private int lastTailleCaseDernière taille de case et position de décalage (centrage) -
lastOffsetX
private int lastOffsetXDernière taille de case et position de décalage (centrage) -
lastOffsetY
private int lastOffsetYDernière taille de case et position de décalage (centrage) -
zoomCentreX
private int zoomCentreXCoordonnées du centre du zoom (souvent position du joueur). -
zoomCentreY
private int zoomCentreYCoordonnées du centre du zoom (souvent position du joueur). -
zoom
private int zoomNiveau de zoom : détermine la taille de la portion affichée (ex: 5x5).
-
-
Constructor Details
-
PanneauCarte
Constructeur de la vue de la carte. Initialise les images, les événements souris/clavier et le comportement de zoom.- Parameters:
controleur- Le contrôleur du jeu (MVC)vue- La vue principale pour actualiser les messages ou autres éléments
-
-
Method Details
-
loadImage
Charge une image depuis le dossier des ressources.- Parameters:
nom- Nom du fichier image à charger.- Returns:
- L’image chargée ou null si erreur.
-
getCellAt
private int[] getCellAt(int px, int py) Retourne les coordonnées (col, lig) de la cellule cliquée.- Parameters:
px- Position x du clic.py- Position y du clic.- Returns:
- Tableau [col, lig] ou null si en dehors.
-
getCell
private com.google.gson.JsonObject getCell(int col, int lig) Récupère l’objet JSON représentant une cellule.- Parameters:
col- Colonne dans la vue.lig- Ligne dans la vue.- Returns:
- Objet JSON de la cellule ou null.
-
paintComponent
Redessine l’ensemble de la carte.- Overrides:
paintComponentin classJComponent- Parameters:
g- Le contexte graphique.
-
tooltipCellule
Génère le contenu HTML de l'infobulle d'une cellule.- Parameters:
cell- Objet JSON de la cellule.col- Colonne dans la vue.lig- Ligne dans la vue.- Returns:
- Texte HTML à afficher.
-