Package avis

Source Code of avis.IHM$ReviewItem

package avis;


import ihm.JPanelEntree;
import ihm.JPanelPassword;
import ihm.JScrollPaneTexte;

import javax.swing.*;



import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.LinkedList;

/**
*
* @author prou
*
*/
public class IHM {





  /**
   * @uml.property  name="metier"
   * @uml.associationEnd  multiplicity="(1 1)" inverse="iHM:siteParis.Metier"
   */
  private SocialNetwork metier = null;



  private int largeurFenetre = 600;

  private String pseudoMembre = "";
  private String passwordMembre = "";
  private String profilMembre = "";

  String titreLivre;
  String genreLivre;
  String auteurLivre;
  String nbPagesLivre;

  String titreFilm;
  String genreFilm;
  String realisateurFilm;
  String scenaristeFilm;
  String dureeFilm;

  String commentaireMembre;
  String noteMembre;

  //private String [] films = new String[0];
  //private String [] livres = new String[0];

  private JFrame fenetreInteraction;
  private JMenuBar barreMenu;
  private JMenu menuMembre;
  private JMenu menuVisiteur;
 
  private JFrame fenetreAffichageReseau;
  private JScrollPaneTexte jScrollPaneAffichageReseau;
 
  private JFrame fenetreAffichageItems;
  private JScrollPaneTexte jScrollPaneAffichageItems;


  public IHM() {

    JMenuItem jMenuItem;
    fenetreInteraction = new JFrame("IHM social network : ");
    fenetreInteraction.setSize(largeurFenetre + 100, 100);
    fenetreInteraction.setVisible(true);
    //Font f = fenetreInteraction.getFont().deriveFont(Font.ITALIC + Font.BOLD);
    fenetreInteraction.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    barreMenu = new JMenuBar();
    fenetreAffichageReseau = null;


    menuMembre = new JMenu("membre");
    jMenuItem = new JMenuItem("afficher le réseau social");
    jMenuItem.addActionListener(new AffichageReseau());
    menuMembre.add(jMenuItem);
    jMenuItem = new JMenuItem("consulter un item");
    jMenuItem.addActionListener(new ConsultItem());
    menuMembre.add(jMenuItem);
    jMenuItem = new JMenuItem("ajouter un profil");
    jMenuItem.addActionListener(new AddMember());
    menuMembre.add(jMenuItem);
    jMenuItem = new JMenuItem("ajouter un item livre");
    jMenuItem.addActionListener(new AddItemBook());
    menuMembre.add(jMenuItem);
    jMenuItem = new JMenuItem("ajouter un item film");
    jMenuItem.addActionListener(new AddItemFilm());
    menuMembre.add(jMenuItem);
    jMenuItem = new JMenuItem("donner un avis sur un item livre");
    jMenuItem.addActionListener(new ReviewItem("livre"));
    menuMembre.add(jMenuItem);
    jMenuItem = new JMenuItem("donner un avis sur un item film");
    jMenuItem.addActionListener(new ReviewItem("film"));
    menuMembre.add(jMenuItem);


    menuVisiteur = new JMenu("visiteur");
    jMenuItem = new JMenuItem("consulter un item");
    jMenuItem.addActionListener(new ConsultItem());
    menuVisiteur.add(jMenuItem);
    jMenuItem = new JMenuItem("ajouter un profil");
    jMenuItem.addActionListener(new AddMember());
    menuVisiteur.add(jMenuItem);

    barreMenu.add(menuMembre);
    barreMenu.add(menuVisiteur);

    fenetreInteraction.setJMenuBar(barreMenu);
    fenetreInteraction.setVisible(true);
  }







  /**
   * Setter of the property <tt>metier</tt>
   * @param metier  The metier to set.
   * @uml.property  name="metier"
   */
  public void setMetier(SocialNetwork metier) {
    this.metier = metier;
  }



  private class AffichageReseau  implements ActionListener {
  public void actionPerformed(ActionEvent e) {
      if (fenetreAffichageReseau == null) {
        fenetreAffichageReseau = new JFrame();
        fenetreAffichageReseau.setLocation(60,60);
        jScrollPaneAffichageReseau = new JScrollPaneTexte(" Social Network """, false, largeurFenetre);
        jScrollPaneAffichageReseau.setTexte(metier.toString());
        fenetreAffichageReseau.getContentPane().removeAll();
        fenetreAffichageReseau.repaint();
        fenetreAffichageReseau.setSize(largeurFenetre + 100, 350);
        fenetreAffichageReseau.getContentPane().add(jScrollPaneAffichageReseau);
        jScrollPaneAffichageReseau.setVisible(true);
        fenetreAffichageReseau.setVisible(true);
        fenetreAffichageReseau.repaint();
      } else {
        jScrollPaneAffichageReseau.setTexte(metier.toString());
        fenetreAffichageReseau.setVisible(true);
        fenetreAffichageReseau.repaint();       
      }
    }

  }



  private class ConsultItem implements ActionListener {
    JPanelEntree jPanelNameItem;
    public void actionPerformed(ActionEvent e) {
      JPanel consulterItem = new JPanel();
      consulterItem.setLayout(new GridLayout(2,1, 4, 4));
      jPanelNameItem = new JPanelEntree(" nom de l'item ? ", "", largeurFenetre);
      consulterItem.add(jPanelNameItem);
      JButton valider = new JButton("valider la demande consultation ");
      valider.setPreferredSize(new Dimension(largeurFenetre-20, 25));
      valider.addActionListener(new ActionConsultItem());
      consulterItem.add(valider);
      consulterItem.setVisible(false);
      fenetreInteraction.getContentPane().removeAll();
      fenetreInteraction.repaint();
      fenetreInteraction.setSize(largeurFenetre + 100, 120);
      fenetreInteraction.getContentPane().add(consulterItem);
      consulterItem.setVisible(true);     
      fenetreInteraction.repaint();
    }
    class ActionConsultItem implements ActionListener {
      public void actionPerformed(ActionEvent e) {
        try {
          LinkedList <String> items = metier.consultItems(jPanelNameItem.getEntree());
          String s = "\n";
          for (String item : items) {
            s += item + "\n";
          }
          if (fenetreAffichageItems == null) {
            fenetreAffichageItems = new JFrame();
            fenetreAffichageItems.setLocation(30,30);
            jScrollPaneAffichageItems = new JScrollPaneTexte(" items ",  s, false, largeurFenetre);
            fenetreAffichageItems.getContentPane().removeAll();
            fenetreAffichageItems.repaint();
            fenetreAffichageItems.setSize(largeurFenetre + 100, 350);
            fenetreAffichageItems.getContentPane().add(jScrollPaneAffichageItems);
            jScrollPaneAffichageItems.setVisible(true);
            fenetreAffichageItems.setVisible(true);
            fenetreAffichageItems.repaint();
          } else {
            jScrollPaneAffichageItems.setTexte(s);
            fenetreAffichageItems.setVisible(true);
            fenetreAffichageItems.repaint();       
          }

        }
        catch (Exception exception) {
          JOptionPane.showMessageDialog(fenetreInteraction, "Exception dans consultItems :   "  + exception);
        }
      }
    }

  }



  private class AddMember implements ActionListener {
    JPanelEntree jPanelPseudo;
    JPanelEntree jPanelPassword;
    JScrollPaneTexte jScrollPaneProfil;
    public void actionPerformed(ActionEvent e) {
      JPanel inscrireMembre = new JPanel();
      jScrollPaneProfil = new JScrollPaneTexte(" profil du membre ? ",  profilMembre, true, largeurFenetre);
      inscrireMembre.add(jScrollPaneProfil);
      JPanel jPanelPseudoEtPassword = new JPanel();
      jPanelPseudoEtPassword.setLayout(new GridLayout(3,1, 4, 4));
      jPanelPseudo = new JPanelEntree(" pseudo ? ", pseudoMembre, largeurFenetre);
      jPanelPseudoEtPassword.add(jPanelPseudo);
      jPanelPassword = new JPanelEntree(" password ? ", passwordMembre, largeurFenetre);
      jPanelPseudoEtPassword.add(jPanelPassword);
      JButton valider = new JButton("valider son inscription ");
      valider.setPreferredSize(new Dimension(largeurFenetre-20, 25));
      valider.addActionListener(new ActionAddMember());
      jPanelPseudoEtPassword.add(valider);
      jPanelPseudoEtPassword.setVisible(true);
      inscrireMembre.add(jPanelPseudoEtPassword);
      inscrireMembre.setVisible(false);
      fenetreInteraction.getContentPane().removeAll();
      fenetreInteraction.repaint();
      fenetreInteraction.setSize(largeurFenetre + 100, 410);
      fenetreInteraction.getContentPane().add(inscrireMembre);
      inscrireMembre.setVisible(true);     
      fenetreInteraction.repaint();
    }

    class ActionAddMember implements ActionListener {
      public void actionPerformed(ActionEvent e) {
        try {
          pseudoMembre = jPanelPseudo.getEntree();
          passwordMembre = jPanelPassword.getEntree();
          profilMembre = jScrollPaneProfil.getTexte();
          metier.addMember(pseudoMembre, passwordMembre, profilMembre);
        }
        catch (Exception exception) {
          JOptionPane.showMessageDialog(fenetreInteraction, "Exception dans addMember :   "  + exception);
        }
      }
    }
  }




  private class AddItemBook implements ActionListener {
    JPanelEntree jPanelPseudo;
    JPanelPassword jPanelPassword;
    JPanelEntree jPanelTitre;
    JPanelEntree jPanelGenre;
    JPanelEntree jPanelAuteur;
    JPanelEntree jPanelNombrePages;
    public void actionPerformed(ActionEvent e) {
      JPanel ajouterLivre = new JPanel();
      ajouterLivre.setLayout(new GridLayout(7,1, 4, 4));
      jPanelPseudo = new JPanelEntree(" pseudo membre ? ", pseudoMembre, largeurFenetre);
      ajouterLivre.add(jPanelPseudo);
      jPanelPassword = new JPanelPassword(" password membre ? ", passwordMembre, largeurFenetre);
      ajouterLivre.add(jPanelPassword);
      jPanelTitre = new JPanelEntree(" titre ? ", titreLivre, largeurFenetre);
      ajouterLivre.add(jPanelTitre);
      jPanelGenre = new JPanelEntree(" genre ? ", genreLivre, largeurFenetre);
      ajouterLivre.add(jPanelGenre);
      jPanelAuteur = new JPanelEntree(" auteur ? ", auteurLivre, largeurFenetre);
      ajouterLivre.add(jPanelAuteur);
      jPanelNombrePages = new JPanelEntree(" nb pages ? ", nbPagesLivre, largeurFenetre);
      ajouterLivre.add(jPanelNombrePages);
      JButton valider = new JButton("Valider ajouter item livre");
      valider.setPreferredSize(new Dimension(largeurFenetre-20, 25));
      valider.addActionListener(new ActionAddItemBook());
      ajouterLivre.add(valider);
      ajouterLivre.setVisible(false);
      fenetreInteraction.getContentPane().removeAll();
      fenetreInteraction.repaint();
      fenetreInteraction.setSize(largeurFenetre + 100, 320);
      fenetreInteraction.getContentPane().add(ajouterLivre);
      ajouterLivre.setVisible(true);     
      fenetreInteraction.setVisible(true);     
      fenetreInteraction.repaint();
    }

    class ActionAddItemBook implements ActionListener {
      public void actionPerformed(ActionEvent e) {
        try {
          pseudoMembre = jPanelPseudo.getEntree();
          passwordMembre = jPanelPassword.getPassword();
          titreLivre = jPanelTitre.getEntree();
          genreLivre = jPanelGenre.getEntree();
          auteurLivre = jPanelAuteur.getEntree();
          nbPagesLivre = jPanelNombrePages.getEntree();
          metier.addItemBook(pseudoMembre, passwordMembre, titreLivre, genreLivre, auteurLivre, new Integer(nbPagesLivre));
        }
        catch (Exception exception) {
          JOptionPane.showMessageDialog(fenetreInteraction, "Exception dans addItemBook :   "  + exception);
        }
      }
    }
  }


  private class AddItemFilm implements ActionListener {
    JPanelEntree jPanelPseudo;
    JPanelPassword jPanelPassword;
    JPanelEntree jPanelTitre;
    JPanelEntree jPanelGenre;
    JPanelEntree jPanelRealisateur;
    JPanelEntree jPanelScenariste;
    JPanelEntree jPanelNombrePages;
    public void actionPerformed(ActionEvent e) {
      JPanel ajouterFilm = new JPanel();
      ajouterFilm.setLayout(new GridLayout(7,1, 4, 4));
      jPanelPseudo = new JPanelEntree(" pseudo membre ? ", pseudoMembre, largeurFenetre);
      ajouterFilm.add(jPanelPseudo);
      jPanelPassword = new JPanelPassword(" password membre ? ", passwordMembre, largeurFenetre);
      ajouterFilm.add(jPanelPassword);
      jPanelTitre = new JPanelEntree(" titre ? ", titreFilm, largeurFenetre);
      ajouterFilm.add(jPanelTitre);
      jPanelGenre = new JPanelEntree(" genre ? ", genreFilm, largeurFenetre);
      ajouterFilm.add(jPanelGenre);
      jPanelRealisateur = new JPanelEntree(" réalisateur ? ", realisateurFilm, largeurFenetre);
      ajouterFilm.add(jPanelRealisateur);
      jPanelScenariste = new JPanelEntree(" scénariste ? ", scenaristeFilm, largeurFenetre);
      ajouterFilm.add(jPanelScenariste);
      jPanelNombrePages = new JPanelEntree(" durée ? ", dureeFilm, largeurFenetre);
      ajouterFilm.add(jPanelNombrePages);
      JButton valider = new JButton("Valider ajouter item film");
      valider.setPreferredSize(new Dimension(largeurFenetre-20, 25));
      valider.addActionListener(new ActionAddItemFilm());
      ajouterFilm.add(valider);
      ajouterFilm.setVisible(false);
      fenetreInteraction.getContentPane().removeAll();
      fenetreInteraction.repaint();
      fenetreInteraction.setSize(largeurFenetre + 100, 320);
      fenetreInteraction.getContentPane().add(ajouterFilm);
      ajouterFilm.setVisible(true);     
      fenetreInteraction.setVisible(true);     
      fenetreInteraction.repaint();
    }

    class ActionAddItemFilm implements ActionListener {
      public void actionPerformed(ActionEvent e) {
        try {
          pseudoMembre = jPanelPseudo.getEntree();
          passwordMembre = jPanelPassword.getPassword();
          titreFilm = jPanelTitre.getEntree();
          genreFilm = jPanelGenre.getEntree();
          realisateurFilm = jPanelRealisateur.getEntree();
          scenaristeFilm = jPanelScenariste.getEntree();
          dureeFilm = jPanelNombrePages.getEntree();
          metier.addItemFilm(pseudoMembre, passwordMembre, titreFilm, genreFilm, realisateurFilm, scenaristeFilm, new Integer(dureeFilm));
        }
        catch (Exception exception) {
          JOptionPane.showMessageDialog(fenetreInteraction, "Exception dans addItemBook :   "  + exception);
        }
      }
    }
  }




  private class ReviewItem   implements ActionListener {
    JPanelEntree jPanelPseudo;
    JPanelPassword jPanelPassword;
    JPanelEntree jPanelTitre;
    JPanelEntree jPanelNote;
    JScrollPaneTexte jScrollPaneCommentaire;

    String type;

    public ReviewItem (String type) {
      this.type = type;
    }
    public void actionPerformed(ActionEvent e) {
      JPanel reviewer = new JPanel();
      jScrollPaneCommentaire = new JScrollPaneTexte(" commentaire ? ",  commentaireMembre, true, largeurFenetre);
      reviewer.add(jScrollPaneCommentaire);
      JPanel jPanelPseudoEtPasswordEtTitre = new JPanel();
      jPanelPseudoEtPasswordEtTitre.setLayout(new GridLayout(5,1, 4, 4));
      jPanelPseudo = new JPanelEntree(" pseudo membre ? ", pseudoMembre, largeurFenetre);
      jPanelPseudoEtPasswordEtTitre.add(jPanelPseudo);
      jPanelPassword = new JPanelPassword(" password membre ? ", passwordMembre, largeurFenetre);
      jPanelPseudoEtPasswordEtTitre.add(jPanelPassword);
      jPanelTitre = new JPanelEntree(" titre ? ", titreLivre, largeurFenetre);
      jPanelPseudoEtPasswordEtTitre.add(jPanelTitre);
      jPanelNote = new JPanelEntree(" note ? ", noteMembre, largeurFenetre);
      jPanelPseudoEtPasswordEtTitre.add(jPanelNote);
      JButton valider = new JButton("Valider reviewer item " + type);
      valider.setPreferredSize(new Dimension(largeurFenetre-20, 25));
      valider.addActionListener(new ActionReviewItem());
      jPanelPseudoEtPasswordEtTitre.add(valider);
      reviewer.add(jPanelPseudoEtPasswordEtTitre);       
      reviewer.setVisible(false);
      fenetreInteraction.getContentPane().removeAll();
      fenetreInteraction.repaint();
      fenetreInteraction.setSize(largeurFenetre + 100, 470);
      fenetreInteraction.getContentPane().add(reviewer);
      reviewer.setVisible(true);     
      fenetreInteraction.setVisible(true);     
      fenetreInteraction.repaint();
    }

    class ActionReviewItem implements ActionListener {
      public void actionPerformed(ActionEvent e) {
        try {
          pseudoMembre = jPanelPseudo.getEntree();
          passwordMembre = jPanelPassword.getPassword();
          titreLivre = jPanelTitre.getEntree();
          noteMembre = jPanelNote.getEntree();
          commentaireMembre = jScrollPaneCommentaire.getTexte();
          if (type.equals("livre"))
            metier.reviewItemBook(pseudoMembre, passwordMembre, titreLivre, new Float(noteMembre), commentaireMembre);
          if (type.equals("film"))
            metier.reviewItemFilm(pseudoMembre, passwordMembre, titreLivre, new Float(noteMembre), commentaireMembre);

        }
        catch (Exception exception) {
          if (type.equals("livre"))
            JOptionPane.showMessageDialog(fenetreInteraction, "Exception dans reviewItemBook :   "  + exception);
          if (type.equals("film"))
            JOptionPane.showMessageDialog(fenetreInteraction, "Exception dans reviewItemFilm :   "  + exception);
        }
      }
    }
  }








  public static void main (String [] args) {

    try {
      SocialNetwork sn = new SocialNetwork();

      IHM ihm = new IHM();
      ihm.setMetier(sn);

      // ajout de 3 membres avec entrées "correctes"
      sn.addMember("Paul", "paul", "lecteur impulsif");
      sn.addMember("Antoine", "antoine", "grand amoureux de littérature");
      sn.addMember("Alice", "alice", "23 ans, sexy");
      sn.addItemFilm("Paul", "paul", "film1", "drame", "tarantino", "winslet", 125);
      sn.addItemFilm("Antoine", "antoine", "film2", "comédie", "jamel", "farugia", 130);
      sn.reviewItemFilm("Alice", "alice", "film1", 5, "c'est nul");
      sn.reviewOpinionFilm("film1", "Alice", "Paul", "paul", "lol", 4);
      sn.reviewItemFilm("Alice", "alice", "film2", 5, "c'est super");
      sn.reviewItemFilm("Antoine", "antoine", "film2", 0, "c'est nul");
    }
    catch (Exception e) {
      System.out.println("Exception inattendue : " + e);
      e.printStackTrace();
    }

  }


}





TOP

Related Classes of avis.IHM$ReviewItem

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.