/*
* 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;
}
}