Java tutorial
/* * 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 }