Package fr.cnam.ihm

Class 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  
    • Constructor Summary

      Constructors 
      Constructor Description
      CanvasIHM​(int width, int height)
      Constructeur d'un canvas d'IHM
      CanvasIHM​(int nbX, int nbY, int tailleCase)
      Constructeur d'un canvas d'IHM
    • 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 canvas
      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.
      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 Frame
      void desafficherGrille()
      Desaffichage de la grille du canvas
      void effacerCanvas()  
      javax.swing.JFrame getFrame()  
      int getHeight()
      Retourne la hauteur du canvas de la grille
      java.util.ArrayList<LigneCanvas> getLignes()  
      int getMarque​(int x, int y)
      Retourne la marque de la case
      int getNbMaxMarqueur()
      Retourne le nombre max de couleur
      int getNbX()
      Retourne le nombre de colonne de la grille
      int getNbY()
      Retourne le nombre de ligne de la grille
      javax.swing.JPanel getPanel()
      Retourne le panel prinicipal de l'IHM
      java.util.ArrayList<PolygoneCanvas> getPolygones()  
      java.util.ArrayList<TexteCanvas> getTextes()  
      int getWidth()
      Retourne la largeur du canvas de la grille
      void 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 Canvas
      void 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)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • TYPE_MARQUE

        public static int TYPE_MARQUE
    • Constructor Detail

      • CanvasIHM

        public CanvasIHM​(int nbX,
                         int nbY,
                         int tailleCase)
        Constructeur d'un canvas d'IHM
        Parameters:
        nbX - nombre de case en largeur
        nbY - nombre de case en hauteur
        tailleCase - taille de chaque case
      • CanvasIHM

        public CanvasIHM​(int width,
                         int height)
        Constructeur d'un canvas d'IHM
        Parameters:
        width - largeur du Canvas
        height - 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 case
        y - 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 point
        y1 - coord en Y du 1er point
        x2 - coord en X du 2eme point
        y2 - 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 chaine
        x - coord en X du texte
        y - coord en Y du texte
        couleur - (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'affichage
        o - 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 case
        y - 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 case
        y - 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 grille
        nbY - nombre de lignes de la grille
        tailleCase - 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()