/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package GUI; import Data.Detail; import Database.OracleAccess; import Helpers.SwingUtils; import java.awt.Graphics2D; import java.awt.Image; import java.awt.RenderingHints; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.sql.Blob; import java.sql.SQLException; import java.text.SimpleDateFormat; import java.util.logging.Level; import java.util.logging.Logger; import javax.imageio.ImageIO; import javax.swing.Icon; import javax.swing.ImageIcon; /** * * @author Greenlamp */ public class Details extends javax.swing.JDialog { /** * Creates new form Details */ OracleAccess oracle; Detail detail; public Details(java.awt.Frame parent, boolean modal) { super(parent, modal); initComponents(); } Details(java.awt.Frame parent, boolean modal, int idMovie) { super(parent, modal); initComponents(); oracle = new OracleAccess("CC1"); initOracle(idMovie); fillDetails(); } /** * 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() { jPanel1 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jLabel5 = new javax.swing.JLabel(); jLabel7 = new javax.swing.JLabel(); jLabel8 = new javax.swing.JLabel(); Gvotes = new javax.swing.JLabel(); Gdate = new javax.swing.JLabel(); Grating = new javax.swing.JLabel(); Gimdb = new javax.swing.JLabel(); Gtitre = new javax.swing.JLabel(); GidFilm = new javax.swing.JLabel(); Gtraduit = new javax.swing.JLabel(); jLabel6 = new javax.swing.JLabel(); Gduree = new javax.swing.JLabel(); jPanel2 = new javax.swing.JPanel(); jLabel17 = new javax.swing.JLabel(); jScrollPane1 = new javax.swing.JScrollPane(); Gresume = new javax.swing.JTextArea(); jPanel3 = new javax.swing.JPanel(); jLabel18 = new javax.swing.JLabel(); Gaffiche = new javax.swing.JLabel(); jPanel4 = new javax.swing.JPanel(); jLabel20 = new javax.swing.JLabel(); jScrollPane2 = new javax.swing.JScrollPane(); Gstudios = new javax.swing.JList(); jPanel5 = new javax.swing.JPanel(); jLabel21 = new javax.swing.JLabel(); jScrollPane3 = new javax.swing.JScrollPane(); Gacteurs = new javax.swing.JList(); jPanel6 = new javax.swing.JPanel(); jLabel22 = new javax.swing.JLabel(); jScrollPane4 = new javax.swing.JScrollPane(); Grealisateurs = new javax.swing.JList(); jPanel7 = new javax.swing.JPanel(); jLabel23 = new javax.swing.JLabel(); jScrollPane5 = new javax.swing.JScrollPane(); Ggenres = new javax.swing.JList(); jPanel8 = new javax.swing.JPanel(); jLabel24 = new javax.swing.JLabel(); jScrollPane9 = new javax.swing.JScrollPane(); Gcopies = new javax.swing.JList(); jPanel9 = new javax.swing.JPanel(); jLabel25 = new javax.swing.JLabel(); jScrollPane6 = new javax.swing.JScrollPane(); Glangues = new javax.swing.JList(); jPanel10 = new javax.swing.JPanel(); jLabel26 = new javax.swing.JLabel(); jScrollPane7 = new javax.swing.JScrollPane(); Gclassifications = new javax.swing.JList(); jPanel12 = new javax.swing.JPanel(); jLabel28 = new javax.swing.JLabel(); afefaez = new javax.swing.JScrollPane(); Gprojection = new javax.swing.JList(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle("Détails"); jPanel1.setBackground(new java.awt.Color(204, 204, 204)); jPanel1.setForeground(new java.awt.Color(204, 204, 204)); jPanel1.setPreferredSize(new java.awt.Dimension(180, 180)); jLabel1.setText("Id du film: "); jLabel2.setText("Titre du film: "); jLabel3.setText("Imdb_id: "); jLabel4.setText("Rating: "); jLabel5.setText("Date de sortie: "); jLabel7.setText("Nombre de votes: "); jLabel8.setText("Traduit: "); Gvotes.setText("0"); Gdate.setText("01/01/2000"); Grating.setText("0"); Gimdb.setText("None"); Gtitre.setText("vide"); GidFilm.setText("0"); Gtraduit.setText("Non"); jLabel6.setText("Durée: "); Gduree.setText("0"); org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel1Layout.createSequentialGroup() .addContainerGap() .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel1Layout.createSequentialGroup() .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jLabel5) .add(jLabel4) .add(jLabel3) .add(jLabel2) .add(jLabel1)) .add(18, 18, 18) .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(GidFilm) .add(Gtitre) .add(Gimdb) .add(Grating) .add(Gdate))) .add(jPanel1Layout.createSequentialGroup() .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jLabel7) .add(jLabel8) .add(jLabel6)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(Gduree) .add(Gtraduit) .add(Gvotes)))) .addContainerGap(41, Short.MAX_VALUE)) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel1Layout.createSequentialGroup() .addContainerGap() .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(jLabel1) .add(GidFilm)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(jLabel2) .add(Gtitre)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(jLabel3) .add(Gimdb)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(jLabel4) .add(Grating)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(jLabel5) .add(Gdate)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(jLabel7) .add(Gvotes)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(jLabel8) .add(Gtraduit)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(jLabel6) .add(Gduree)) .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); jPanel2.setBackground(new java.awt.Color(204, 204, 204)); jLabel17.setText("Résumé: "); Gresume.setColumns(25); Gresume.setRows(5); jScrollPane1.setViewportView(Gresume); org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2); jPanel2.setLayout(jPanel2Layout); jPanel2Layout.setHorizontalGroup( jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel2Layout.createSequentialGroup() .addContainerGap() .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) .add(jPanel2Layout.createSequentialGroup() .add(jLabel17) .add(0, 0, Short.MAX_VALUE))) .addContainerGap()) ); jPanel2Layout.setVerticalGroup( jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel2Layout.createSequentialGroup() .addContainerGap() .add(jLabel17) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jScrollPane1) .addContainerGap()) ); jPanel3.setBackground(new java.awt.Color(204, 204, 204)); jPanel3.setPreferredSize(new java.awt.Dimension(180, 180)); jLabel18.setText("Affiche: "); org.jdesktop.layout.GroupLayout jPanel3Layout = new org.jdesktop.layout.GroupLayout(jPanel3); jPanel3.setLayout(jPanel3Layout); jPanel3Layout.setHorizontalGroup( jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel3Layout.createSequentialGroup() .addContainerGap() .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jLabel18) .add(Gaffiche)) .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); jPanel3Layout.setVerticalGroup( jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel3Layout.createSequentialGroup() .addContainerGap() .add(jLabel18) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(Gaffiche) .addContainerGap(149, Short.MAX_VALUE)) ); jPanel4.setBackground(new java.awt.Color(204, 204, 204)); jLabel20.setText("Studios: "); jScrollPane2.setViewportView(Gstudios); org.jdesktop.layout.GroupLayout jPanel4Layout = new org.jdesktop.layout.GroupLayout(jPanel4); jPanel4.setLayout(jPanel4Layout); jPanel4Layout.setHorizontalGroup( jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel4Layout.createSequentialGroup() .addContainerGap() .add(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel4Layout.createSequentialGroup() .add(jLabel20) .add(0, 0, Short.MAX_VALUE)) .add(jScrollPane2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) .addContainerGap()) ); jPanel4Layout.setVerticalGroup( jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel4Layout.createSequentialGroup() .addContainerGap() .add(jLabel20) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jScrollPane2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 142, Short.MAX_VALUE) .addContainerGap()) ); jPanel5.setBackground(new java.awt.Color(204, 204, 204)); jPanel5.setPreferredSize(new java.awt.Dimension(180, 180)); jLabel21.setText("Acteurs: "); jScrollPane3.setViewportView(Gacteurs); org.jdesktop.layout.GroupLayout jPanel5Layout = new org.jdesktop.layout.GroupLayout(jPanel5); jPanel5.setLayout(jPanel5Layout); jPanel5Layout.setHorizontalGroup( jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel5Layout.createSequentialGroup() .addContainerGap() .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel5Layout.createSequentialGroup() .add(jLabel21) .add(0, 136, Short.MAX_VALUE)) .add(org.jdesktop.layout.GroupLayout.TRAILING, jScrollPane3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) .addContainerGap()) ); jPanel5Layout.setVerticalGroup( jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel5Layout.createSequentialGroup() .addContainerGap() .add(jLabel21) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jScrollPane3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 138, Short.MAX_VALUE) .addContainerGap()) ); jPanel6.setBackground(new java.awt.Color(204, 204, 204)); jLabel22.setText("Réalisateurs: "); jScrollPane4.setViewportView(Grealisateurs); org.jdesktop.layout.GroupLayout jPanel6Layout = new org.jdesktop.layout.GroupLayout(jPanel6); jPanel6.setLayout(jPanel6Layout); jPanel6Layout.setHorizontalGroup( jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel6Layout.createSequentialGroup() .addContainerGap() .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel6Layout.createSequentialGroup() .add(jLabel22) .add(0, 0, Short.MAX_VALUE)) .add(jScrollPane4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) .addContainerGap()) ); jPanel6Layout.setVerticalGroup( jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel6Layout.createSequentialGroup() .addContainerGap() .add(jLabel22) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jScrollPane4) .addContainerGap()) ); jPanel7.setBackground(new java.awt.Color(204, 204, 204)); jLabel23.setText("Genres: "); jScrollPane5.setViewportView(Ggenres); org.jdesktop.layout.GroupLayout jPanel7Layout = new org.jdesktop.layout.GroupLayout(jPanel7); jPanel7.setLayout(jPanel7Layout); jPanel7Layout.setHorizontalGroup( jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel7Layout.createSequentialGroup() .addContainerGap() .add(jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel7Layout.createSequentialGroup() .add(jLabel23) .add(0, 0, Short.MAX_VALUE)) .add(jScrollPane5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) .addContainerGap()) ); jPanel7Layout.setVerticalGroup( jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel7Layout.createSequentialGroup() .addContainerGap() .add(jLabel23) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jScrollPane5) .addContainerGap()) ); jPanel8.setBackground(new java.awt.Color(204, 204, 204)); jPanel8.setPreferredSize(new java.awt.Dimension(180, 180)); jLabel24.setText("Copies disponibles:"); jScrollPane9.setViewportView(Gcopies); org.jdesktop.layout.GroupLayout jPanel8Layout = new org.jdesktop.layout.GroupLayout(jPanel8); jPanel8.setLayout(jPanel8Layout); jPanel8Layout.setHorizontalGroup( jPanel8Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel8Layout.createSequentialGroup() .addContainerGap() .add(jPanel8Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel8Layout.createSequentialGroup() .add(jLabel24) .add(0, 89, Short.MAX_VALUE)) .add(jScrollPane9, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) .addContainerGap()) ); jPanel8Layout.setVerticalGroup( jPanel8Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel8Layout.createSequentialGroup() .addContainerGap() .add(jLabel24) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jScrollPane9) .add(7, 7, 7)) ); jPanel9.setBackground(new java.awt.Color(204, 204, 204)); jPanel9.setPreferredSize(new java.awt.Dimension(180, 180)); jLabel25.setText("Langues: "); jScrollPane6.setViewportView(Glangues); org.jdesktop.layout.GroupLayout jPanel9Layout = new org.jdesktop.layout.GroupLayout(jPanel9); jPanel9.setLayout(jPanel9Layout); jPanel9Layout.setHorizontalGroup( jPanel9Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel9Layout.createSequentialGroup() .addContainerGap() .add(jPanel9Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel9Layout.createSequentialGroup() .add(jLabel25) .add(0, 133, Short.MAX_VALUE)) .add(jScrollPane6, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) .addContainerGap()) ); jPanel9Layout.setVerticalGroup( jPanel9Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel9Layout.createSequentialGroup() .addContainerGap() .add(jLabel25) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jScrollPane6, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 142, Short.MAX_VALUE) .addContainerGap()) ); jPanel10.setBackground(new java.awt.Color(204, 204, 204)); jPanel10.setPreferredSize(new java.awt.Dimension(180, 180)); jLabel26.setText("Classifications: "); jScrollPane7.setViewportView(Gclassifications); org.jdesktop.layout.GroupLayout jPanel10Layout = new org.jdesktop.layout.GroupLayout(jPanel10); jPanel10.setLayout(jPanel10Layout); jPanel10Layout.setHorizontalGroup( jPanel10Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel10Layout.createSequentialGroup() .addContainerGap() .add(jPanel10Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel10Layout.createSequentialGroup() .add(jLabel26) .add(0, 0, Short.MAX_VALUE)) .add(jScrollPane7, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) .addContainerGap()) ); jPanel10Layout.setVerticalGroup( jPanel10Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel10Layout.createSequentialGroup() .addContainerGap() .add(jLabel26) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jScrollPane7, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 142, Short.MAX_VALUE) .addContainerGap()) ); jPanel12.setBackground(new java.awt.Color(204, 204, 204)); jPanel12.setPreferredSize(new java.awt.Dimension(180, 180)); jLabel28.setText("Projections programmées: "); afefaez.setViewportView(Gprojection); org.jdesktop.layout.GroupLayout jPanel12Layout = new org.jdesktop.layout.GroupLayout(jPanel12); jPanel12.setLayout(jPanel12Layout); jPanel12Layout.setHorizontalGroup( jPanel12Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel12Layout.createSequentialGroup() .addContainerGap() .add(jPanel12Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel12Layout.createSequentialGroup() .add(jLabel28) .add(0, 0, Short.MAX_VALUE)) .add(afefaez, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) .addContainerGap()) ); jPanel12Layout.setVerticalGroup( jPanel12Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel12Layout.createSequentialGroup() .addContainerGap() .add(jLabel28) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(afefaez, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 142, Short.MAX_VALUE) .addContainerGap()) ); org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(layout.createSequentialGroup() .addContainerGap() .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false) .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE) .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .add(jPanel7, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) .add(jPanel4, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .add(jPanel9, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE) .add(jPanel3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false) .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel6, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel10, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE) .add(jPanel5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 200, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) .add(jPanel12, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE) .add(jPanel8, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 200, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) .addContainerGap(69, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(layout.createSequentialGroup() .addContainerGap() .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .add(jPanel5, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .add(jPanel8, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) .add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .add(jPanel6, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .add(jPanel4, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .add(jPanel12, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 184, Short.MAX_VALUE)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) .add(jPanel7, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .add(jPanel9, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 184, Short.MAX_VALUE) .add(jPanel10, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 184, Short.MAX_VALUE)) .addContainerGap(51, Short.MAX_VALUE)) ); pack(); java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); java.awt.Dimension dialogSize = getSize(); setLocation((screenSize.width-dialogSize.width)/2,(screenSize.height-dialogSize.height)/2); }// </editor-fold>//GEN-END:initComponents /** * @param args the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(Details.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(Details.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(Details.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(Details.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } //</editor-fold> /* Create and display the dialog */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { Details dialog = new Details(new javax.swing.JFrame(), true); dialog.addWindowListener(new java.awt.event.WindowAdapter() { @Override public void windowClosing(java.awt.event.WindowEvent e) { System.exit(0); } }); dialog.setVisible(true); } }); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JList Gacteurs; private javax.swing.JLabel Gaffiche; private javax.swing.JList Gclassifications; private javax.swing.JList Gcopies; private javax.swing.JLabel Gdate; private javax.swing.JLabel Gduree; private javax.swing.JList Ggenres; private javax.swing.JLabel GidFilm; private javax.swing.JLabel Gimdb; private javax.swing.JList Glangues; private javax.swing.JList Gprojection; private javax.swing.JLabel Grating; private javax.swing.JList Grealisateurs; private javax.swing.JTextArea Gresume; private javax.swing.JList Gstudios; private javax.swing.JLabel Gtitre; private javax.swing.JLabel Gtraduit; private javax.swing.JLabel Gvotes; private javax.swing.JScrollPane afefaez; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel17; private javax.swing.JLabel jLabel18; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel20; private javax.swing.JLabel jLabel21; private javax.swing.JLabel jLabel22; private javax.swing.JLabel jLabel23; private javax.swing.JLabel jLabel24; private javax.swing.JLabel jLabel25; private javax.swing.JLabel jLabel26; private javax.swing.JLabel jLabel28; 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.JLabel jLabel8; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel10; private javax.swing.JPanel jPanel12; 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.JScrollPane jScrollPane2; private javax.swing.JScrollPane jScrollPane3; private javax.swing.JScrollPane jScrollPane4; private javax.swing.JScrollPane jScrollPane5; private javax.swing.JScrollPane jScrollPane6; private javax.swing.JScrollPane jScrollPane7; private javax.swing.JScrollPane jScrollPane9; // End of variables declaration//GEN-END:variables private void initOracle(int idMovie) { oracle.initCallFunc("PACKAGE_PROGRAMMATION", "getDetail", 1); detail = oracle.doGetDetail(idMovie); } private void fillDetails() { GidFilm.setText(String.valueOf(detail.getIdMovie())); Gtitre.setText(detail.getName()); Gimdb.setText(detail.getImdbId() == null ? "None" : detail.getImdbId()); Grating.setText(String.valueOf(detail.getRating())); Gdate.setText(new SimpleDateFormat("dd/MM/yyyy").format(detail.getDateSortie())); //Gtrailer.setText(detail.getTrailer() == null ? "Pas de trailer" : detail.getTrailer()); Gvotes.setText(String.valueOf(detail.getVotes())); Gtraduit.setText(detail.isTraduit() ? "OUI" : "NON"); Gresume.setLineWrap(true); Gresume.setText(detail.getResume()); if(detail.getGenres().size() == 0){ SwingUtils.addToList(Ggenres, "None"); }else{ for(String genre : detail.getGenres()){ SwingUtils.addToList(Ggenres, genre); } } try { Blob imageBlob = detail.getAffiche(); byte[] bytes = imageBlob.getBytes(1, (int)imageBlob.length()); bytes = resize(bytes, 138, 97); Icon icon = new ImageIcon(bytes); Gaffiche.setIcon(icon); } catch (Exception ex) { Logger.getLogger(Details.class.getName()).log(Level.SEVERE, null, ex); } if(detail.getStudios().size() == 0){ SwingUtils.addToList(Gstudios, "None"); }else{ for(String studio : detail.getStudios()){ SwingUtils.addToList(Gstudios, studio); } } if(detail.getLangues().size() == 0){ SwingUtils.addToList(Glangues, "None"); }else{ for(String langue : detail.getLangues()){ SwingUtils.addToList(Glangues, langue); } } if(detail.getActeurs().size() == 0){ SwingUtils.addToList(Gacteurs, "None"); }else{ for(String acteur : detail.getActeurs()){ SwingUtils.addToList(Gacteurs, acteur); } } if(detail.getRealisateurs().size() == 0){ SwingUtils.addToList(Grealisateurs, "None"); }else{ for(String realisateur : detail.getRealisateurs()){ SwingUtils.addToList(Grealisateurs, realisateur); } } if(detail.getCertifications().size() == 0){ SwingUtils.addToList(Gclassifications, "None"); }else{ for(String certif : detail.getCertifications()){ SwingUtils.addToList(Gclassifications, certif); } } if(detail.getCopies().size() == 0){ SwingUtils.addToList(Gcopies, "None"); }else{ for(int copie : detail.getCopies()){ SwingUtils.addToList(Gcopies, String.valueOf(copie)); } } if(detail.getProjections().size() == 0){ SwingUtils.addToList(Gprojection, "None"); }else{ for(String proj : detail.getProjections()){ SwingUtils.addToList(Gprojection, proj); } } Gduree.setText(String.valueOf(detail.getRuntime())); } private String formatResume(String resume) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); try { baos.write(resume.getBytes()); } catch (IOException ex) { Logger.getLogger(Details.class.getName()).log(Level.SEVERE, null, ex); } int i = 1; StringBuilder sb = new StringBuilder(); for(byte caractere : baos.toByteArray()){ sb.append((char)caractere); if(i%25 == 0){ sb.append("\n"); } i++; } String retour = sb.toString(); return retour; } public byte[] resize(byte[] img, int hauteur, int largeur) { InputStream is = new ByteArrayInputStream(img); BufferedImage in = null; try { in = ImageIO.read(is); } catch (IOException ex) { Logger.getLogger(Details.class.getName()).log(Level.SEVERE, null, ex); } BufferedImage newImage = new BufferedImage(largeur, hauteur, BufferedImage.TYPE_INT_RGB); Graphics2D g = newImage.createGraphics(); try { g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC); g.clearRect(0, 0, largeur, hauteur); g.drawImage(in, 0, 0, largeur, hauteur, null); } finally { g.dispose(); } byte[] bytesOut = null; ByteArrayOutputStream baos = new ByteArrayOutputStream(); try { ImageIO.write(newImage, "jpg", baos); bytesOut = baos.toByteArray(); } catch (IOException ex) { Logger.getLogger(Details.class.getName()).log(Level.SEVERE, null, ex); } return bytesOut; } }