Package fr.cnam.ihm
Class CanvasIHM
- java.lang.Object
-
- fr.cnam.ihm.CanvasIHM
-
public class CanvasIHM extends java.lang.Object
Classe de définition d'un canvas dans lequel on peut afficher une grille IHM avec laquelle il est possible :
- de colorer ou effacer une case de la grille
- de realiser une action si on clique dans une des cases de la grille
- si la grille n'est pas affichee alors on peut tracer des lignes et ecrire du texte et
avoir une action quand on clique dans le canvas ou quand on deplace la souris
- on peut dessiner des polygones (2D) qui peuvent avoir une position aussi en Z. Les polygones sont affichés en fonction de Z, avec X plus prioritaire que Y.
-
-
Field Summary
Fields Modifier and Type Field Description static int
TYPE_MARQUE
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
afficherFrame(int posX, int posY)
void
afficherGrille()
Affichage de la grille dans le canvasvoid
ajouterLigne(int couleur, int x1, int y1, int x2, int y2)
Ajout d'une ligne de (x1,y1) a (x2,y2) et de couleur.void
ajouterPolygone(RessourcesCanvas rc, java.lang.Object o, Position p, java.awt.Point... points)
Ajout d'un polygone p1,p2,....void
ajouterPolygone(java.lang.Object objet, Position position, int couleur, java.awt.Point... points)
Ajout d'un polygone p1,p2,....void
ajouterTexte(java.lang.String texte, int x, int y, int couleur)
Ajout d'un texte dans le canvas a une position (x,y)static CanvasIHM
creerCanvasIhmDansFrame(int nbX, int nbY, int tailleCase)
Methode static qui permet de creer le canvas inclus dans un Framevoid
desafficherGrille()
Desaffichage de la grille du canvasvoid
effacerCanvas()
javax.swing.JFrame
getFrame()
int
getHeight()
Retourne la hauteur du canvas de la grillejava.util.ArrayList<LigneCanvas>
getLignes()
int
getMarque(int x, int y)
Retourne la marque de la caseint
getNbMaxMarqueur()
Retourne le nombre max de couleurint
getNbX()
Retourne le nombre de colonne de la grilleint
getNbY()
Retourne le nombre de ligne de la grillejavax.swing.JPanel
getPanel()
Retourne le panel prinicipal de l'IHMjava.util.ArrayList<PolygoneCanvas>
getPolygones()
java.util.ArrayList<TexteCanvas>
getTextes()
int
getWidth()
Retourne la largeur du canvas de la grillevoid
razGrille()
Efface le contenu de la grille
(La valeur 0 est mise dans chaque case)void
setActions(ControlesCanvasIHM actions)
Initialise ou change les actions utilise dans le Canvasvoid
setMarque(int marque, int x, int y)
Affecte à une case de la grille la marque (couleur)boolean
siCaseLibre(int x, int y)
Teste si la case est libre (différente de 0)
-
-
-
Constructor Detail
-
CanvasIHM
public CanvasIHM(int nbX, int nbY, int tailleCase)
Constructeur d'un canvas d'IHM- Parameters:
nbX
- nombre de case en largeurnbY
- nombre de case en hauteurtailleCase
- taille de chaque case
-
CanvasIHM
public CanvasIHM(int width, int height)
Constructeur d'un canvas d'IHM- Parameters:
width
- largeur du Canvasheight
- hauteur du Canvas
-
-
Method Detail
-
setActions
public void setActions(ControlesCanvasIHM actions)
Initialise ou change les actions utilise dans le Canvas- Parameters:
actions
- un objet qui implémente l'interface ControlesCanvasIHM
-
getPanel
public javax.swing.JPanel getPanel()
Retourne le panel prinicipal de l'IHM- Returns:
- le panel
-
getWidth
public int getWidth()
Retourne la largeur du canvas de la grille- Returns:
- largeur
-
getHeight
public int getHeight()
Retourne la hauteur du canvas de la grille- Returns:
- largeur
-
razGrille
public void razGrille()
Efface le contenu de la grille
(La valeur 0 est mise dans chaque case)
-
setMarque
public void setMarque(int marque, int x, int y)
Affecte à une case de la grille la marque (couleur)- Parameters:
marque
- une valeur de 1 à 10 (couleur) ou 0 (case vide)x
- coordonnée en x de la casey
- coordonnée en y de la case
-
ajouterLigne
public void ajouterLigne(int couleur, int x1, int y1, int x2, int y2)
Ajout d'une ligne de (x1,y1) a (x2,y2) et de couleur.- Parameters:
couleur
- (valeur de 1 à 10)x1
- coord en X du 1er pointy1
- coord en Y du 1er pointx2
- coord en X du 2eme pointy2
- coors en Y du 2eme point
-
ajouterTexte
public void ajouterTexte(java.lang.String texte, int x, int y, int couleur)
Ajout d'un texte dans le canvas a une position (x,y)- Parameters:
texte
- La valeur de la chainex
- coord en X du textey
- coord en Y du textecouleur
- (valeur de 1 à 10)
-
ajouterPolygone
public void ajouterPolygone(java.lang.Object objet, Position position, int couleur, java.awt.Point... points)
Ajout d'un polygone p1,p2,.... et de couleur.- Parameters:
objet
- objet quelconque (utilisé dans pointerCanvas)position
- position de l'objet en (x,y,z)couleur
- couleur (valeur de 1 à 10)points
- les points du polygone
-
ajouterPolygone
public void ajouterPolygone(RessourcesCanvas rc, java.lang.Object o, Position p, java.awt.Point... points)
Ajout d'un polygone p1,p2,.... et de couleur.- Parameters:
rc
- ressources graphiques d'affichageo
- objet quelconque (utilisé dans pointerCanvas)p
- position de l'objet en (x,y,z)points
- les points du polygone
-
getMarque
public int getMarque(int x, int y)
Retourne la marque de la case- Parameters:
x
- coordonnée en x de la casey
- coordonnée en y de la case- Returns:
- la valeur de la case (de 0 à 10)
-
siCaseLibre
public boolean siCaseLibre(int x, int y)
Teste si la case est libre (différente de 0)- Parameters:
x
- coordonnée en x de la casey
- coordonnée en y de la case- Returns:
- true si la case est libre sinon false
-
getNbX
public int getNbX()
Retourne le nombre de colonne de la grille- Returns:
- le nombre de colonne
-
getNbY
public int getNbY()
Retourne le nombre de ligne de la grille- Returns:
- le nombre de ligne
-
getNbMaxMarqueur
public int getNbMaxMarqueur()
Retourne le nombre max de couleur- Returns:
- nombre max
-
desafficherGrille
public void desafficherGrille()
Desaffichage de la grille du canvas
-
afficherGrille
public void afficherGrille()
Affichage de la grille dans le canvas
-
creerCanvasIhmDansFrame
public static CanvasIHM creerCanvasIhmDansFrame(int nbX, int nbY, int tailleCase)
Methode static qui permet de creer le canvas inclus dans un Frame- Parameters:
nbX
- nombre de colonnes de la grillenbY
- nombre de lignes de la grilletailleCase
- taille de chaque case en pixel- Returns:
- retourne le canvas créé
-
afficherFrame
public void afficherFrame(int posX, int posY)
-
getFrame
public javax.swing.JFrame getFrame()
-
getLignes
public java.util.ArrayList<LigneCanvas> getLignes()
-
getTextes
public java.util.ArrayList<TexteCanvas> getTextes()
-
getPolygones
public java.util.ArrayList<PolygoneCanvas> getPolygones()
-
effacerCanvas
public void effacerCanvas()
-
-