streaming.gui.JDialogEditFilm.java Source code

Java tutorial

Introduction

Here is the source code for streaming.gui.JDialogEditFilm.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package streaming.gui;

import com.sun.xml.internal.ws.api.streaming.XMLStreamReaderFactory;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.persistence.EntityManager;
import javax.persistence.Persistence;
import javax.swing.DefaultListModel;
import javax.swing.JFrame;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import streaming.entity.Film;
import streaming.entity.Genre;
import streaming.entity.Pays;
import streaming.entity.Realisateur;
import streaming.exception.SynopsisVideException;
import streaming.service.FilmService;
import streaming.service.GenreService;
import streaming.service.PaysService;
import streaming.service.RealisateurService;

/**
 *
 * @author admin
 */
@Component
public class JDialogEditFilm extends javax.swing.JDialog {

    @Autowired
    private FilmService fserv;

    @Autowired
    private GenreService gserv;

    @Autowired
    private PaysService pserv;

    @Autowired
    private RealisateurService rserv;

    private List<Pays> listePays = new ArrayList<>();
    private List<Genre> listeGenre = new ArrayList<Genre>();
    private List<Realisateur> listeReal = new ArrayList<>();

    @Autowired
    private JPanelListeFilm jPanelListeFilm;

    private DefaultListModel modelList = new DefaultListModel();

    public void setjPanelListeFilm(JPanelListeFilm jPanelListeFilm) {
        this.jPanelListeFilm = jPanelListeFilm;
    }

    /**
     * Creates new form JDialogEditFilm
     */
    public void rafraichir() {
        listePays = pserv.listerTous();
        listeGenre = gserv.listerTous();
        listeReal = rserv.listerTous();

        initialiseComboBoxGenre();
        initialiseComboBoxPays();
        initialiseJListReal();

        this.setjPanelListeFilm(jPanelListeFilm);
    }

    public JDialogEditFilm() {
        this.setModal(true);
        initComponents();
    }

    public void initialiseComboBoxPays() {
        jComboBoxPays.removeAllItems();
        for (Pays p : listePays) {
            jComboBoxPays.addItem(p.getNom());
        }
    }

    public void initialiseComboBoxGenre() {
        jComboBoxGenre.removeAllItems();
        for (Genre g : listeGenre) {
            jComboBoxGenre.addItem(g.getNom());
        }
    }

    public void initialiseJListReal() {
        jListReal.removeAll();
        for (Realisateur r : listeReal) {
            modelList.addElement(r.getPrenom() + " " + r.getNom());
        }

        jListReal.setModel(modelList);

    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        jPanel1 = new javax.swing.JPanel();
        jTextID = new javax.swing.JTextField();
        jLabel2 = new javax.swing.JLabel();
        jPanel2 = new javax.swing.JPanel();
        jTextTitre = new javax.swing.JTextField();
        jLabel3 = new javax.swing.JLabel();
        jPanel3 = new javax.swing.JPanel();
        jTextAnnee = new javax.swing.JTextField();
        jLabel4 = new javax.swing.JLabel();
        jPanel4 = new javax.swing.JPanel();
        jComboBoxPays = new javax.swing.JComboBox<>();
        jLabel5 = new javax.swing.JLabel();
        jPanel5 = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        jListReal = new javax.swing.JList<>();
        jLabel6 = new javax.swing.JLabel();
        jPanel6 = new javax.swing.JPanel();
        jTextSynopsis = new javax.swing.JTextField();
        jLabel7 = new javax.swing.JLabel();
        jPanel9 = new javax.swing.JPanel();
        jComboBoxGenre = new javax.swing.JComboBox<>();
        jPanel7 = new javax.swing.JPanel();
        jPanel8 = new javax.swing.JPanel();
        jBAjouter = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Ajout d'un Film");
        getContentPane().setLayout(new java.awt.GridLayout(8, 3));

        jLabel1.setText("ID");
        getContentPane().add(jLabel1);

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(jPanel1Layout
                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 142, Short.MAX_VALUE));
        jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGap(0, 37, Short.MAX_VALUE));

        getContentPane().add(jPanel1);

        jTextID.setEditable(false);
        getContentPane().add(jTextID);

        jLabel2.setText("Titre");
        getContentPane().add(jLabel2);

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(jPanel2Layout
                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 142, Short.MAX_VALUE));
        jPanel2Layout.setVerticalGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGap(0, 37, Short.MAX_VALUE));

        getContentPane().add(jPanel2);
        getContentPane().add(jTextTitre);

        jLabel3.setText("Anne de production");
        getContentPane().add(jLabel3);

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(jPanel3Layout
                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 142, Short.MAX_VALUE));
        jPanel3Layout.setVerticalGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGap(0, 37, Short.MAX_VALUE));

        getContentPane().add(jPanel3);
        getContentPane().add(jTextAnnee);

        jLabel4.setText("Pays");
        getContentPane().add(jLabel4);

        javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
        jPanel4.setLayout(jPanel4Layout);
        jPanel4Layout.setHorizontalGroup(jPanel4Layout
                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 142, Short.MAX_VALUE));
        jPanel4Layout.setVerticalGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGap(0, 37, Short.MAX_VALUE));

        getContentPane().add(jPanel4);

        jComboBoxPays.setModel(
                new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
        jComboBoxPays.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jComboBoxPaysActionPerformed(evt);
            }
        });
        getContentPane().add(jComboBoxPays);

        jLabel5.setText("Ralisateur");
        getContentPane().add(jLabel5);

        javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
        jPanel5.setLayout(jPanel5Layout);
        jPanel5Layout.setHorizontalGroup(jPanel5Layout
                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 142, Short.MAX_VALUE));
        jPanel5Layout.setVerticalGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGap(0, 37, Short.MAX_VALUE));

        getContentPane().add(jPanel5);

        jListReal.setModel(new javax.swing.AbstractListModel<String>() {
            String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };

            public int getSize() {
                return strings.length;
            }

            public String getElementAt(int i) {
                return strings[i];
            }
        });
        jListReal.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        jScrollPane1.setViewportView(jListReal);

        getContentPane().add(jScrollPane1);

        jLabel6.setText("Synopsis");
        getContentPane().add(jLabel6);

        javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
        jPanel6.setLayout(jPanel6Layout);
        jPanel6Layout.setHorizontalGroup(jPanel6Layout
                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 142, Short.MAX_VALUE));
        jPanel6Layout.setVerticalGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGap(0, 37, Short.MAX_VALUE));

        getContentPane().add(jPanel6);
        getContentPane().add(jTextSynopsis);

        jLabel7.setText("Genre");
        getContentPane().add(jLabel7);

        javax.swing.GroupLayout jPanel9Layout = new javax.swing.GroupLayout(jPanel9);
        jPanel9.setLayout(jPanel9Layout);
        jPanel9Layout.setHorizontalGroup(jPanel9Layout
                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 142, Short.MAX_VALUE));
        jPanel9Layout.setVerticalGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGap(0, 37, Short.MAX_VALUE));

        getContentPane().add(jPanel9);

        jComboBoxGenre.setModel(
                new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
        jComboBoxGenre.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jComboBoxGenreActionPerformed(evt);
            }
        });
        getContentPane().add(jComboBoxGenre);

        javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
        jPanel7.setLayout(jPanel7Layout);
        jPanel7Layout.setHorizontalGroup(jPanel7Layout
                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 142, Short.MAX_VALUE));
        jPanel7Layout.setVerticalGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGap(0, 37, Short.MAX_VALUE));

        getContentPane().add(jPanel7);

        javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8);
        jPanel8.setLayout(jPanel8Layout);
        jPanel8Layout.setHorizontalGroup(jPanel8Layout
                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 142, Short.MAX_VALUE));
        jPanel8Layout.setVerticalGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGap(0, 37, Short.MAX_VALUE));

        getContentPane().add(jPanel8);

        jBAjouter.setText("Ajouter");
        jBAjouter.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBAjouterActionPerformed(evt);
            }
        });
        getContentPane().add(jBAjouter);

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jBAjouterActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBAjouterActionPerformed
        // Ajout d'un nouveau film

        Film f = new Film();
        f.setAnnee(Long.parseLong(jTextAnnee.getText()));
        f.setTitre(jTextTitre.getText());
        f.setSynopsis(jTextSynopsis.getText());

        for (int i : jListReal.getSelectedIndices()) {
            f.getListeRealisateurs().add(listeReal.get(i));
        }

        for (Pays p : listePays) {
            if (p.getNom() == jComboBoxPays.getSelectedItem()) {
                f.setPays(p);
            }
        }

        for (Genre g : listeGenre) {
            if (g.getNom() == jComboBoxGenre.getSelectedItem()) {
                f.setGenre(g);
            }
        }
        try {
            fserv.ajouter(f);

            // TODO add your handling code here:
        } catch (SynopsisVideException ex) {

        }

        jPanelListeFilm.rafraichir();
        this.setVisible(false);//Ferme Fenetre
        this.dispose();//Libre mmoire

    }//GEN-LAST:event_jBAjouterActionPerformed

    private void jComboBoxPaysActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBoxPaysActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_jComboBoxPaysActionPerformed

    private void jComboBoxGenreActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBoxGenreActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_jComboBoxGenreActionPerformed

    /**
     * @param args the command line arguments
     */

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jBAjouter;
    private javax.swing.JComboBox<String> jComboBoxGenre;
    private javax.swing.JComboBox<String> jComboBoxPays;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JList<String> jListReal;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JPanel jPanel5;
    private javax.swing.JPanel jPanel6;
    private javax.swing.JPanel jPanel7;
    private javax.swing.JPanel jPanel8;
    private javax.swing.JPanel jPanel9;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextField jTextAnnee;
    private javax.swing.JTextField jTextID;
    private javax.swing.JTextField jTextSynopsis;
    private javax.swing.JTextField jTextTitre;
    // End of variables declaration//GEN-END:variables
}