Package fr.cnam.ihm

Class Formulaire


  • public class Formulaire
    extends java.lang.Object
    Classe de définition d'un formulaire JAVA permettant de faire à minima une IHM Java pour saisir des informations et faire des actions via des boutons.
    Pour cela, il faut que l'applicatif implémente les méthodes de l'interface FormulaireInt.

    • Constructor Summary

      Constructors 
      Constructor Description
      Formulaire​(java.lang.String titre, FormulaireInt app, int width, int height)
      Constructeur d'un formulaire.
      Formulaire​(java.lang.String titre, FormulaireInt app, int width, int height, boolean avecFrame)
      Constructeur d'un formulaire.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void activer​(java.lang.String nom)
      activer un des composants du formulaire
      void addButton​(java.lang.String nom, java.lang.String button)
      Ajout dans le formulaire d'un bouton.
      CanvasIHM addCanvasIHM​(int width, int height, ControlesCanvasIHM controle)
      Methode qui ajoute un canvas de grille
      CanvasIHM addGrilleIHM​(int nbLigne, int nbColonne, int tailleCase, ControlesCanvasIHM controle)
      Methode qui ajoute un canvas de grille
      javax.swing.JLabel addImage​(java.lang.String nom, int x, int y, int width, int height, java.lang.String pathImage, boolean cursorMove)
      Ajout d'une image
      void addLabel​(java.lang.String label)
      Ajout d'un label dans le formulairel.
      void addListeChoix​(java.lang.String nom, java.lang.String label, java.lang.String[] liste, boolean action, java.lang.String valinit)
      Ajout dans le formulaire d'une liste de choix de saisie composé d'un label et d'une liste de choix.
      void addListScroll​(java.lang.String nom, java.lang.String titre, boolean editable, java.lang.String[] values, int width, int height)
      Ajout dans le formulaire d'une liste scrollable de valeurs.
      void addPanel​(javax.swing.JPanel panel, int width, int height)
      Ajout d'un Panel dans le formulaire
      void addPosition​(int deltax, int deltay)
      Change la position courante par delta
      void addText​(java.lang.String nom, java.lang.String label, boolean editable, java.lang.String value)
      Ajout dans le formulaire un texte de saisie composé d'un label et d'une zone de saisie.
      void addZoneText​(java.lang.String nom, java.lang.String label, boolean editable, java.lang.String value, int width, int height)
      Ajout dans le formulaire d'un texte de saisie multi-ligne composé d'un label et d'une zone de saisie.
      void afficher()
      Affichage du formulaire.
      void afficher​(int x, int y)
      Affichage du formulaire en x,y de l'ecran
      java.lang.String choisirFichier​(java.lang.String directory)
      Cette methode permet de choisir un fichier sur le disque
      void desactiver​(java.lang.String nom)
      desactiver un des composants du formulaire
      void dessous​(int posx)
      Change la position courante en passant a la ligne suivante en position posx
      void fermer()
      Permet de fermer le formulaire
      javax.swing.JPanel getPanel()
      Retourne le panel principal du formulaire
      java.lang.String getValeurChamp​(java.lang.String nom)
      Méthode qui retourne la valeur d'un champ.
      int getXCour()
      Retourne la position courante en X de la position des éléments
      int getYCour()
      Retourne la position courante en Y de la position des éléments
      void horizontal()
      change le sens en HORIZONTAL
      static java.lang.String[] lireFichierTexte​(java.lang.String nomFichier)
      Cette methode statique permet de lire un fichier texte
      void setApp​(FormulaireInt app)
      Initialise l'applicatif.
      Cette méthode est utilisée dans le cas où quand on crée le formulaire on ne connait pas encore l'applicatif qui gère le formulaire.
      void setAutoWidth​(boolean auto)
      Le contour des textes de Label Text et Button sont autoamtiquement ou pas ajuster a la taille du texte
      void setButtonFermer​(java.lang.String nomButton)
      Designe le bouton qui ferme la fenetre
      void setHeightText​(int height)
      Change la hauteur courante d'un text ou d'un label ou bouton
      void setImage​(javax.swing.JLabel label, java.lang.String pathImage)
      Changer l'image d'un JLabel
      void setListData​(java.lang.String nom, java.lang.String[] values)
      Méthode qui change les valeurs d'une liste de scroll
      void setPosition​(int x, int y)
      Change la position courante
      void setTailleFonte​(int taille)
      Change la taille de la fonte courante d'un text ou d'un lable ou d'un bouton
      void setValeurChamp​(java.lang.String nom, java.lang.String valeur)
      Méthode qui change la valeur d'un champ.
      void setWidthButtonCour​(int width)
      Change la largeur courante des boutons
      void setWidthGapCour​(int width)
      Change la largeur courante de séparation entre le label et le texte des champs de saisi
      void setWidthLabelCour​(int width)
      Change la largeur courante des label
      void setWidthTextCour​(int width)
      Change la largeur courante des textes de saisi
      void vertical()
      change le sens en VERTICAL
      • Methods inherited from class java.lang.Object

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

      • Formulaire

        public Formulaire​(java.lang.String titre,
                          FormulaireInt app,
                          int width,
                          int height)
        Constructeur d'un formulaire.
        Parameters:
        titre - Titre affiché dans le bandeau de la fenetre
        app - Un objet dont la classe implémente l'interface FormualaireInt
        width - longueur du formulaire
        height - hauteur du formulaire
      • Formulaire

        public Formulaire​(java.lang.String titre,
                          FormulaireInt app,
                          int width,
                          int height,
                          boolean avecFrame)
        Constructeur d'un formulaire.
        Parameters:
        titre - Titre affiché dans le bandeau de la fenetre
        app - Un objet dont la classe implémente l'interface FormualaireInt
        width - longueur du formulaire
        height - hauteur du formulaire
        avecFrame - si false alors pas de frame cree : que le panel. Ceci permet d'incruster un formulaire dans une IHM existante (un autre formulaire)
    • Method Detail

      • setApp

        public void setApp​(FormulaireInt app)
        Initialise l'applicatif.
        Cette méthode est utilisée dans le cas où quand on crée le formulaire on ne connait pas encore l'applicatif qui gère le formulaire. On appelle alors cette méthode pour initialiser l'applicatif du formulaire.
        Parameters:
        app - Un objet qui implémente l'interface Formulaireint
      • getPanel

        public javax.swing.JPanel getPanel()
        Retourne le panel principal du formulaire
        Returns:
        panel principal du formulaire
      • getXCour

        public int getXCour()
        Retourne la position courante en X de la position des éléments
        Returns:
        int la valeur X
      • getYCour

        public int getYCour()
        Retourne la position courante en Y de la position des éléments
        Returns:
        int la valeur Y
      • setPosition

        public void setPosition​(int x,
                                int y)
        Change la position courante
        Parameters:
        x - position en abscisse (horizontal) de la fenetre
        y - position en ordonnée (vertical) de la fenetre
      • addPosition

        public void addPosition​(int deltax,
                                int deltay)
        Change la position courante par delta
        Parameters:
        deltax - position en abscisse (horizontal) de la fenetre
        deltay - position en ordonnée (vertical) de la fenetre
      • setTailleFonte

        public void setTailleFonte​(int taille)
        Change la taille de la fonte courante d'un text ou d'un lable ou d'un bouton
        Parameters:
        taille - (int) taille de la fonte (8, 9, 10, 11, ....)
      • setHeightText

        public void setHeightText​(int height)
        Change la hauteur courante d'un text ou d'un label ou bouton
        Parameters:
        height - (int) hauteur en pixel
      • dessous

        public void dessous​(int posx)
        Change la position courante en passant a la ligne suivante en position posx
        Parameters:
        posx - nouvelle position courante en x
      • horizontal

        public void horizontal()
        change le sens en HORIZONTAL
      • vertical

        public void vertical()
        change le sens en VERTICAL
      • setAutoWidth

        public void setAutoWidth​(boolean auto)
        Le contour des textes de Label Text et Button sont autoamtiquement ou pas ajuster a la taille du texte
        Parameters:
        auto - boolean
      • setWidthLabelCour

        public void setWidthLabelCour​(int width)
        Change la largeur courante des label
        Parameters:
        width - nouvelle largeur courante
      • setWidthTextCour

        public void setWidthTextCour​(int width)
        Change la largeur courante des textes de saisi
        Parameters:
        width - nouvelle largeur courante
      • setWidthGapCour

        public void setWidthGapCour​(int width)
        Change la largeur courante de séparation entre le label et le texte des champs de saisi
        Parameters:
        width - nouvelle largeur courante
      • setWidthButtonCour

        public void setWidthButtonCour​(int width)
        Change la largeur courante des boutons
        Parameters:
        width - nouvelle largeur courante
      • afficher

        public void afficher()
        Affichage du formulaire.
      • afficher

        public void afficher​(int x,
                             int y)
        Affichage du formulaire en x,y de l'ecran
        Parameters:
        x - position en X du formulaire
        y - position en Y du formulaire
      • fermer

        public void fermer()
        Permet de fermer le formulaire
      • addLabel

        public void addLabel​(java.lang.String label)
        Ajout d'un label dans le formulairel.
        Parameters:
        label - Valeur du label
      • addText

        public void addText​(java.lang.String nom,
                            java.lang.String label,
                            boolean editable,
                            java.lang.String value)
        Ajout dans le formulaire un texte de saisie composé d'un label et d'une zone de saisie.
        Parameters:
        nom - Le nom du champ
        label - Chaine qui précéde la zone de saisie
        editable - détermine si la zone de saisie est éditable
        value - valeur initiale dans la zone de saisie
      • addListeChoix

        public void addListeChoix​(java.lang.String nom,
                                  java.lang.String label,
                                  java.lang.String[] liste,
                                  boolean action,
                                  java.lang.String valinit)
        Ajout dans le formulaire d'une liste de choix de saisie composé d'un label et d'une liste de choix.
        Parameters:
        nom - Le nom du champ
        label - Chaine qui précéde la zone de saisie
        liste - tableau de la liste de choix
        action - si vrai alors l'action est réalisée dès que l'on clique
        valinit - valeur inital sélectionnée
      • addZoneText

        public void addZoneText​(java.lang.String nom,
                                java.lang.String label,
                                boolean editable,
                                java.lang.String value,
                                int width,
                                int height)
        Ajout dans le formulaire d'un texte de saisie multi-ligne composé d'un label et d'une zone de saisie.
        Parameters:
        nom - Le nom du champ
        label - Chaine qui précéde la zone de saisie
        editable - détermine si la zone de saisie est éditable
        value - valeur initiale dans la zone de saisie
        width - longueur de la zone de texte
        height - hauteur de la zone de texte
      • addListScroll

        public void addListScroll​(java.lang.String nom,
                                  java.lang.String titre,
                                  boolean editable,
                                  java.lang.String[] values,
                                  int width,
                                  int height)
        Ajout dans le formulaire d'une liste scrollable de valeurs.
        Parameters:
        nom - Le nom de la liste scrollable
        titre - Titre qui précéde la liste
        editable - détermine si la zone de saisie est éditable
        values - valeur initiale dans la zone de saisie
        width - longueur de la zone (ou -1)
        height - hauteur de la zone
      • addImage

        public javax.swing.JLabel addImage​(java.lang.String nom,
                                           int x,
                                           int y,
                                           int width,
                                           int height,
                                           java.lang.String pathImage,
                                           boolean cursorMove)
        Ajout d'une image
        Parameters:
        nom - le nom de l'image (nom de l'action si clique dans l'image)
        x - position en x de l'image
        y - position en y de l'image
        width - taille en longueur de l'image
        height - taille eh hauteur de l'image
        pathImage - path du fichier de l'image (.jpg, .gif, .bmp, ....)
        cursorMove - si True alors le pointeur souris se change en une main lors du survol de la souris sur l'image
        Returns:
        JLabel le label créé contenant l'image La valeur de retour de type JLabel permet de changer l'image en appelant la méthode setImage.
      • setImage

        public void setImage​(javax.swing.JLabel label,
                             java.lang.String pathImage)
        Changer l'image d'un JLabel
        Parameters:
        label - le JLabel dont on veut changerl'image
        pathImage - path de l'image
      • setButtonFermer

        public void setButtonFermer​(java.lang.String nomButton)
        Designe le bouton qui ferme la fenetre
        Parameters:
        nomButton - le nom du bouton
      • addButton

        public void addButton​(java.lang.String nom,
                              java.lang.String button)
        Ajout dans le formulaire d'un bouton.
        Parameters:
        nom - Le nom du bouton
        button - Texte du bouton
      • addPanel

        public void addPanel​(javax.swing.JPanel panel,
                             int width,
                             int height)
        Ajout d'un Panel dans le formulaire
        Parameters:
        panel - le panel a ajouter
        width - largeur du panel
        height - hauteur du panel
      • addGrilleIHM

        public CanvasIHM addGrilleIHM​(int nbLigne,
                                      int nbColonne,
                                      int tailleCase,
                                      ControlesCanvasIHM controle)
        Methode qui ajoute un canvas de grille
        Parameters:
        nbLigne - nombre de ligne de la grille
        nbColonne - nombre de colonne de la grille
        tailleCase - taille de la case (en pixel)
        controle - objet dont la classe surcharge les méthodes de l'interface ControlesCanvasIHM. Il permet de réaliser les actions réalisées dans la grille.
        Returns:
        retourne la grille d'IHM
      • addCanvasIHM

        public CanvasIHM addCanvasIHM​(int width,
                                      int height,
                                      ControlesCanvasIHM controle)
        Methode qui ajoute un canvas de grille
        Parameters:
        width - largeur du canvas
        height - hauteur du canvas
        controle - objet dont la classe surcharge les méthodes de l'interface ControlesCanvasIHM. Il permet de réaliser les actions réalisées dans la grille.
        Returns:
        retourne la grille d'IHM
      • getValeurChamp

        public java.lang.String getValeurChamp​(java.lang.String nom)
        Méthode qui retourne la valeur d'un champ.
        Parameters:
        nom - Le nom du champ
        Returns:
        valeur la nouvelle valeur du champ
      • setValeurChamp

        public void setValeurChamp​(java.lang.String nom,
                                   java.lang.String valeur)
        Méthode qui change la valeur d'un champ.
        Parameters:
        nom - Le nom du champ
        valeur - la nouvelle valeur du champ
      • setListData

        public void setListData​(java.lang.String nom,
                                java.lang.String[] values)
        Méthode qui change les valeurs d'une liste de scroll
        Parameters:
        nom - Le nom du champ
        values - la nouvelle liste de valeur
      • desactiver

        public void desactiver​(java.lang.String nom)
                        throws java.lang.RuntimeException
        desactiver un des composants du formulaire
        Parameters:
        nom - Nom du composant
        Throws:
        java.lang.RuntimeException
      • activer

        public void activer​(java.lang.String nom)
                     throws java.lang.RuntimeException
        activer un des composants du formulaire
        Parameters:
        nom - Nom du composant
        Throws:
        java.lang.RuntimeException
      • choisirFichier

        public java.lang.String choisirFichier​(java.lang.String directory)
        Cette methode permet de choisir un fichier sur le disque
        Parameters:
        directory - nom relatif ou absolu du répertoire initial
        Returns:
        retourne le nom absolu fichier sélectionné ou null si annuler
      • lireFichierTexte

        public static java.lang.String[] lireFichierTexte​(java.lang.String nomFichier)
        Cette methode statique permet de lire un fichier texte
        Parameters:
        nomFichier - le path relatif ou absolu du fichier a lire
        Returns:
        un tableau de caractere contenant chaque ligne du fichier