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 GUI; import DAO.BonCarburantDAO; import DAO.CarDAO; import Entities.BonDeCarburant; import Entities.Car; import com.itextpdf.text.BaseColor; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Font; import com.itextpdf.text.Paragraph; import com.itextpdf.text.pdf.PdfWriter; import java.io.FileOutputStream; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Locale; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.table.DefaultTableModel; /** * * @author Marwen */ public class Carburant extends javax.swing.JFrame { BonCarburantDAO bonCarburantDao = new BonCarburantDAO(); private static Font catFont = new Font(Font.FontFamily.TIMES_ROMAN, 18, Font.BOLD); private static Font redFont = new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL, BaseColor.RED); private static Font subFont = new Font(Font.FontFamily.TIMES_ROMAN, 16, Font.BOLD); private static Font smallBold = new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD); /** * Creates new form InterfaceCarburant */ public Carburant() { initComponents(); } /** * 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() { jButton2 = new javax.swing.JButton(); jButton1 = new javax.swing.JButton(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel11 = new javax.swing.JLabel(); soucheNumET = new javax.swing.JTextField(); jLabel3 = new javax.swing.JLabel(); immatriculationET = new javax.swing.JTextField(); jLabel4 = new javax.swing.JLabel(); typeUtilisationSP = new javax.swing.JComboBox(); jLabel5 = new javax.swing.JLabel(); jLabel6 = new javax.swing.JLabel(); jLabel7 = new javax.swing.JLabel(); quantiteET = new javax.swing.JTextField(); prixUnitaireET = new javax.swing.JTextField(); jLabel8 = new javax.swing.JLabel(); jLabel9 = new javax.swing.JLabel(); prixBonET = new javax.swing.JTextField(); jLabel12 = new javax.swing.JLabel(); immatCB = new javax.swing.JCheckBox(); utilisationCB = new javax.swing.JCheckBox(); dateCB = new javax.swing.JCheckBox(); numSoucheCB = new javax.swing.JCheckBox(); seachImmatET = new javax.swing.JTextField(); seachNumSoucheET = new javax.swing.JTextField(); utilisationSP = new javax.swing.JComboBox(); afficherBT = new javax.swing.JButton(); jScrollPane1 = new javax.swing.JScrollPane(); tableJT = new javax.swing.JTable(); printBT = new javax.swing.JButton(); ajouterBT = new javax.swing.JButton(); jButton6 = new javax.swing.JButton(); natureCarburantSP = new javax.swing.JComboBox<>(); dateET = new javax.swing.JTextField(); searchDateET = new javax.swing.JTextField(); jMenuBar1 = new javax.swing.JMenuBar(); jMenu1 = new javax.swing.JMenu(); jMenuItem2 = new javax.swing.JMenuItem(); jMenuItem3 = new javax.swing.JMenuItem(); jMenuItem4 = new javax.swing.JMenuItem(); jMenu2 = new javax.swing.JMenu(); jMenuItem5 = new javax.swing.JMenuItem(); jMenuItem6 = new javax.swing.JMenuItem(); jMenuItem7 = new javax.swing.JMenuItem(); jMenu3 = new javax.swing.JMenu(); jMenuItem8 = new javax.swing.JMenuItem(); jMenuItem9 = new javax.swing.JMenuItem(); jMenu4 = new javax.swing.JMenu(); jMenuItem10 = new javax.swing.JMenuItem(); jMenuItem11 = new javax.swing.JMenuItem(); jMenuItem12 = new javax.swing.JMenuItem(); jMenu5 = new javax.swing.JMenu(); jMenuItem13 = new javax.swing.JMenuItem(); jMenuItem14 = new javax.swing.JMenuItem(); jMenuItem15 = new javax.swing.JMenuItem(); jMenu6 = new javax.swing.JMenu(); jButton2.setText("jButton2"); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jButton1.setText("Deconnecter"); jLabel1.setText("Bienvenue Mr"); jLabel2.setText("Numero de Souche"); jLabel11.setFont(new java.awt.Font("Times New Roman", 0, 18)); // NOI18N jLabel11.setForeground(new java.awt.Color(0, 51, 153)); jLabel11.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabel11.setText("Ajouter une consommation"); jLabel3.setText("Immatriculation"); jLabel4.setText("Type d'utilisation"); typeUtilisationSP.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Fonction", "Service" })); jLabel5.setText("Date"); jLabel6.setText("Quantit"); jLabel7.setText("Prix unitaire"); jLabel8.setText("Nature de carburant"); jLabel9.setText("Prix de bon"); jLabel12.setFont(new java.awt.Font("Times New Roman", 0, 18)); // NOI18N jLabel12.setForeground(new java.awt.Color(0, 51, 153)); jLabel12.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabel12.setText("Rechercher"); immatCB.setText("Immatriculation"); utilisationCB.setText("Utilisation"); dateCB.setText("Date"); numSoucheCB.setText("Numero de souche"); utilisationSP.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Fonction", "Service" })); afficherBT.setText("Afficher"); afficherBT.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { afficherBTActionPerformed(evt); } }); tableJT.setModel(new javax.swing.table.DefaultTableModel( new Object[][] { { null, null, null, null, null }, { null, null, null, null, null }, { null, null, null, null, null }, { null, null, null, null, null }, { null, null, null, null, null }, { null, null, null, null, null }, { null, null, null, null, null }, { null, null, null, null, null }, { null, null, null, null, null }, { null, null, null, null, null }, { null, null, null, null, null }, { null, null, null, null, null } }, new String[] { "Numero de Souche", "Immatriculation", "Utilisation", "Date", "Prix de bon" })); jScrollPane1.setViewportView(tableJT); printBT.setText("Imprimmer"); printBT.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { printBTActionPerformed(evt); } }); ajouterBT.setText("Ajouter"); ajouterBT.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { ajouterBTActionPerformed(evt); } }); jButton6.setText("Annuler"); natureCarburantSP.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Essence", "Diesel" })); jMenu1.setText("Vehicule"); jMenu1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenu1ActionPerformed(evt); } }); jMenuItem2.setText("Ajouter vehicule"); jMenuItem2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem2ActionPerformed(evt); } }); jMenu1.add(jMenuItem2); jMenuItem3.setText("Etat des vehicules dans une anne"); jMenuItem3.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem3ActionPerformed(evt); } }); jMenu1.add(jMenuItem3); jMenuItem4.setText("Alertes"); jMenuItem4.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem4ActionPerformed(evt); } }); jMenu1.add(jMenuItem4); jMenuBar1.add(jMenu1); jMenu2.setText("Rparation"); jMenuItem5.setText("Ajouter une rparation"); jMenuItem5.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem5ActionPerformed(evt); } }); jMenu2.add(jMenuItem5); jMenuItem6.setText("Etat des rparations dans une anne"); jMenuItem6.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem6ActionPerformed(evt); } }); jMenu2.add(jMenuItem6); jMenuItem7.setText("Alertes"); jMenuItem7.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem7ActionPerformed(evt); } }); jMenu2.add(jMenuItem7); jMenuBar1.add(jMenu2); jMenu3.setText("Carburant"); jMenuItem8.setText("Ajouter une consommation"); jMenuItem8.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem8ActionPerformed(evt); } }); jMenu3.add(jMenuItem8); jMenuItem9.setText("Etat des consommations dans une anne"); jMenuItem9.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem9ActionPerformed(evt); } }); jMenu3.add(jMenuItem9); jMenuBar1.add(jMenu3); jMenu4.setText("Magasin"); jMenuItem10.setText("Ajouter un article"); jMenuItem10.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem10ActionPerformed(evt); } }); jMenu4.add(jMenuItem10); jMenuItem11.setText("Etat des consommations dans une anne"); jMenuItem11.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem11ActionPerformed(evt); } }); jMenu4.add(jMenuItem11); jMenuItem12.setText("Alertes"); jMenuItem12.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem12ActionPerformed(evt); } }); jMenu4.add(jMenuItem12); jMenuBar1.add(jMenu4); jMenu5.setText("Atelier"); jMenuItem13.setText("Ajouter un bon de lavage"); jMenuItem13.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem13ActionPerformed(evt); } }); jMenu5.add(jMenuItem13); jMenuItem14.setText("Demander un article"); jMenuItem14.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem14ActionPerformed(evt); } }); jMenu5.add(jMenuItem14); jMenuItem15.setText("Etat des consommations dans une anne"); jMenuItem15.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem15ActionPerformed(evt); } }); jMenu5.add(jMenuItem15); jMenuBar1.add(jMenu5); jMenu6.setText("Parametrage"); jMenuBar1.add(jMenu6); setJMenuBar(jMenuBar1); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup( javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup().addGap(0, 0, Short.MAX_VALUE).addGroup(layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel5) .addGroup(layout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel11) .addGroup(layout.createSequentialGroup().addComponent(jLabel4) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(typeUtilisationSP, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))) .addGap(331, 331, 331)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addComponent(ajouterBT).addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jButton6) .addGroup(layout.createSequentialGroup().addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jButton1))) .addGap(67, 67, 67)))) .addGroup(layout.createSequentialGroup().addContainerGap().addGroup(layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel6).addComponent(jLabel7)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(prixUnitaireET, javax.swing.GroupLayout.DEFAULT_SIZE, 39, Short.MAX_VALUE) .addComponent(quantiteET)) .addGap(25, 25, 25) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup().addComponent(jLabel9) .addGap(39, 39, 39).addComponent(prixBonET, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup().addComponent(jLabel8) .addGap(18, 18, 18).addComponent(natureCarburantSP, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) .addGap(0, 0, Short.MAX_VALUE)) .addGroup(layout.createSequentialGroup().addGroup(layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup().addGroup(layout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(layout.createSequentialGroup().addComponent(immatCB) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(seachImmatET, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(utilisationCB) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(utilisationSP, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(jLabel12)).addGap(35, 35, 35).addComponent(dateCB)) .addGroup(layout.createSequentialGroup().addComponent(jLabel2) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(soucheNumET, javax.swing.GroupLayout.PREFERRED_SIZE, 82, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(34, 34, 34).addComponent(jLabel3) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(immatriculationET, javax.swing.GroupLayout.PREFERRED_SIZE, 56, javax.swing.GroupLayout.PREFERRED_SIZE))) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 381, Short.MAX_VALUE) .addComponent(dateET, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(2, 2, 2)) .addGroup(layout.createSequentialGroup().addGap(18, 18, 18) .addComponent(searchDateET, javax.swing.GroupLayout.PREFERRED_SIZE, 69, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18).addComponent(numSoucheCB).addGap(18, 18, 18) .addComponent(seachNumSoucheET, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(58, 137, Short.MAX_VALUE)))) .addGroup(layout.createSequentialGroup() .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 562, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(afficherBT).addGap(163, 163, 163)) .addGroup(layout.createSequentialGroup().addGap(18, 18, 18) .addComponent(printBT) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))))); layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup().addGroup(layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jButton1).addComponent(jLabel1)) .addGap(23, 23, 23)) .addComponent(jLabel11, javax.swing.GroupLayout.Alignment.TRAILING)) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup().addGap(135, 135, 135) .addGroup(layout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(ajouterBT).addComponent(jButton6))) .addGroup(layout.createSequentialGroup().addGroup(layout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel2) .addComponent(soucheNumET, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel3) .addComponent(immatriculationET, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel4).addComponent(typeUtilisationSP, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(41, 41, 41) .addGroup(layout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel6) .addComponent(quantiteET, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel8) .addComponent(natureCarburantSP, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel5).addComponent(dateET, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addGroup(layout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel7) .addComponent(prixUnitaireET, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel9).addComponent(prixBonET, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))) .addGap(1, 1, 1).addComponent(jLabel12) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(immatCB).addComponent(utilisationCB).addComponent(dateCB) .addComponent(numSoucheCB) .addComponent(seachImmatET, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(seachNumSoucheET, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(utilisationSP, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(searchDateET, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup().addComponent(afficherBT).addGap(13, 13, 13) .addComponent(printBT)) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(0, 18, Short.MAX_VALUE))); pack(); }// </editor-fold>//GEN-END:initComponents private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem4ActionPerformed new CarsAlerts().setVisible(true); this.setVisible(false); }//GEN-LAST:event_jMenuItem4ActionPerformed private void jMenuItem8ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem8ActionPerformed new Carburant().setVisible(true); this.setVisible(false); }//GEN-LAST:event_jMenuItem8ActionPerformed private void jMenuItem11ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem11ActionPerformed // TODO add your handling code here: }//GEN-LAST:event_jMenuItem11ActionPerformed private void jMenuItem12ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem12ActionPerformed new ArticleAlerts().setVisible(true); this.setVisible(false); }//GEN-LAST:event_jMenuItem12ActionPerformed private void ajouterBTActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ajouterBTActionPerformed BonDeCarburant bonCarburant = new BonDeCarburant(); bonCarburant.setSoucheNumber(soucheNumET.getText()); bonCarburant.setQuantity(Integer.parseInt(quantiteET.getText())); bonCarburant.setUnitPrice(Float.parseFloat(prixUnitaireET.getText())); // get car object //we created this contractor because we already have an active transaction CarDAO carDAO = new CarDAO(false); Car car = carDAO.getCarByImmatriculation(immatriculationET.getText()); bonCarburant.setCar(car); bonCarburant.setType(natureCarburantSP.getSelectedItem().toString()); bonCarburant.setBonPrice(Float.parseFloat(prixBonET.getText())); bonCarburant.setUseType(typeUtilisationSP.getSelectedItem().toString()); try { DateFormat format = new SimpleDateFormat("dd-MM-yyyy", Locale.ENGLISH); Date date; date = format.parse(dateET.getText()); bonCarburant.setDeliveryDate(date); } catch (ParseException ex) { Logger.getLogger(Car.class.getName()).log(Level.SEVERE, null, ex); } BonCarburantDAO bonCarburantDao = new BonCarburantDAO(); bonCarburantDao.addBonCarburant(bonCarburant); }//GEN-LAST:event_ajouterBTActionPerformed private void afficherBTActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_afficherBTActionPerformed /// check if we already have an active transaction try { BonCarburantDAO bonCarburantDao = new BonCarburantDAO(); } catch (IllegalStateException e) { } List<BonDeCarburant> bonCarburants = new ArrayList<>(); if (immatCB.isSelected() && !utilisationCB.isSelected() && !dateCB.isSelected() && !numSoucheCB.isSelected()) { bonCarburants.addAll(bonCarburantDao.findBonCarburantByImmatriculation(seachImmatET.getText())); } else if (!immatCB.isSelected() && utilisationCB.isSelected() && !dateCB.isSelected() && !numSoucheCB.isSelected()) { bonCarburants.addAll( bonCarburantDao.findBonCarburantByUseType(typeUtilisationSP.getSelectedItem().toString())); } else if (!immatCB.isSelected() && !utilisationCB.isSelected() && dateCB.isSelected() && !numSoucheCB.isSelected()) { try { DateFormat format = new SimpleDateFormat("dd-MM-yyyy", Locale.ENGLISH); Date date; date = format.parse(searchDateET.getText()); bonCarburants.addAll(bonCarburantDao.findBonCarburantByDate(date)); } catch (ParseException ex) { Logger.getLogger(Car.class.getName()).log(Level.SEVERE, null, ex); } } else if (!immatCB.isSelected() && !utilisationCB.isSelected() && !dateCB.isSelected() && numSoucheCB.isSelected()) { bonCarburants.add(bonCarburantDao.findBonCarburantByNumSouche(seachNumSoucheET.getText())); } System.out.println(bonCarburants.get(0).getSoucheNumber()); /// add to the table Object[] tableColumnNames = new Object[5]; tableColumnNames[0] = "Num Souche"; tableColumnNames[1] = "Immatriculation"; tableColumnNames[2] = "Utilisation"; tableColumnNames[3] = "Date"; tableColumnNames[4] = "Prix de bon"; DefaultTableModel tbd = new DefaultTableModel(); tbd.setColumnIdentifiers(tableColumnNames); Object[] RowService = new Object[5]; this.tableJT.setModel(tbd); for (int i = 0; i < bonCarburants.size(); i++) { RowService[0] = bonCarburants.get(i).getSoucheNumber(); RowService[1] = bonCarburants.get(i).getCar().getImmatriculation(); RowService[2] = bonCarburants.get(i).getCar().getUtilisation(); RowService[3] = bonCarburants.get(i).getDeliveryDate(); RowService[4] = bonCarburants.get(i).getBonPrice().toString(); tbd.addRow(RowService); } }//GEN-LAST:event_afficherBTActionPerformed private void printBTActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_printBTActionPerformed try { Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream("/home/marwen/Desktop/carburantList.pdf")); document.open(); addMetaData(document); addTitlePage(document); //addContent(document); document.close(); } catch (Exception e) { e.printStackTrace(); } // TODO add your handling code here: } // iText allows to add metadata to the PDF which can be viewed in your Adobe // Reader // under File -> Properties private static void addMetaData(Document document) { document.addTitle("Carburant PDF"); document.addSubject("subject"); document.addKeywords("Car Fleet Management, PDF, JAVA"); document.addAuthor("Marwen"); document.addCreator("Marwen"); } private void addTitlePage(Document document) throws DocumentException { Paragraph preface = new Paragraph(); // We add one empty line addEmptyLine(preface, 1); // Lets write a big header preface.add(new Paragraph("Carburant", catFont)); addEmptyLine(preface, 1); preface.add(new Paragraph( "Report generated by: " + System.getProperty("Car Fleet Management App") + ", " + new Date(), smallBold)); addEmptyLine(preface, 3); preface.add(new Paragraph("Carburant details ", smallBold)); int rowNumber = this.tableJT.getSelectedRow(); // immatriculation preface.add(new Paragraph("Numero de souche : ", redFont)); preface.add(new Paragraph(this.tableJT.getValueAt(rowNumber, 0).toString(), smallBold)); //marque preface.add(new Paragraph("Immatriculation : ", redFont)); preface.add(new Paragraph(this.tableJT.getValueAt(rowNumber, 1).toString(), smallBold)); //etat preface.add(new Paragraph("Prix de bon : ", redFont)); preface.add(new Paragraph(this.tableJT.getValueAt(rowNumber, 4).toString(), smallBold)); addEmptyLine(preface, 3); preface.add(new Paragraph("Thank you for using Car Fleet Management App", smallBold)); document.add(preface); // Start a new page document.newPage(); } private static void addEmptyLine(Paragraph paragraph, int number) { for (int i = 0; i < number; i++) { paragraph.add(new Paragraph(" ")); } }//GEN-LAST:event_printBTActionPerformed private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed new Cars().setVisible(true); this.setVisible(false); }//GEN-LAST:event_jMenuItem2ActionPerformed private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem3ActionPerformed new CarsStats().setVisible(true); this.setVisible(false); }//GEN-LAST:event_jMenuItem3ActionPerformed private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem5ActionPerformed new Fixings().setVisible(true); this.setVisible(false); }//GEN-LAST:event_jMenuItem5ActionPerformed private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem6ActionPerformed new FixingStats().setVisible(true); this.setVisible(false); }//GEN-LAST:event_jMenuItem6ActionPerformed private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem7ActionPerformed new FixingsAlerts().setVisible(true); this.setVisible(false); }//GEN-LAST:event_jMenuItem7ActionPerformed private void jMenuItem9ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem9ActionPerformed new CarburantStats().setVisible(true); this.setVisible(false); }//GEN-LAST:event_jMenuItem9ActionPerformed private void jMenuItem10ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem10ActionPerformed new Articles().setVisible(true); this.setVisible(false); }//GEN-LAST:event_jMenuItem10ActionPerformed private void jMenuItem13ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem13ActionPerformed new BonLavage().setVisible(true); this.setVisible(false); }//GEN-LAST:event_jMenuItem13ActionPerformed private void jMenuItem14ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem14ActionPerformed new DemandesArticles().setVisible(true); this.setVisible(false); }//GEN-LAST:event_jMenuItem14ActionPerformed private void jMenuItem15ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem15ActionPerformed // TODO add your handling code here: }//GEN-LAST:event_jMenuItem15ActionPerformed private void jMenu1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenu1ActionPerformed // TODO add your handling code here: }//GEN-LAST:event_jMenu1ActionPerformed /** * @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(Carburant.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(Carburant.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(Carburant.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(Carburant.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } //</editor-fold> //</editor-fold> /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new Carburant().setVisible(true); } }); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton afficherBT; private javax.swing.JButton ajouterBT; private javax.swing.JCheckBox dateCB; private javax.swing.JTextField dateET; private javax.swing.JCheckBox immatCB; private javax.swing.JTextField immatriculationET; private javax.swing.JButton jButton1; private javax.swing.JButton jButton2; private javax.swing.JButton jButton6; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel11; private javax.swing.JLabel jLabel12; 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.JLabel jLabel8; private javax.swing.JLabel jLabel9; private javax.swing.JMenu jMenu1; private javax.swing.JMenu jMenu2; private javax.swing.JMenu jMenu3; private javax.swing.JMenu jMenu4; private javax.swing.JMenu jMenu5; private javax.swing.JMenu jMenu6; private javax.swing.JMenuBar jMenuBar1; private javax.swing.JMenuItem jMenuItem10; private javax.swing.JMenuItem jMenuItem11; private javax.swing.JMenuItem jMenuItem12; private javax.swing.JMenuItem jMenuItem13; private javax.swing.JMenuItem jMenuItem14; private javax.swing.JMenuItem jMenuItem15; private javax.swing.JMenuItem jMenuItem2; private javax.swing.JMenuItem jMenuItem3; private javax.swing.JMenuItem jMenuItem4; private javax.swing.JMenuItem jMenuItem5; private javax.swing.JMenuItem jMenuItem6; private javax.swing.JMenuItem jMenuItem7; private javax.swing.JMenuItem jMenuItem8; private javax.swing.JMenuItem jMenuItem9; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JComboBox<String> natureCarburantSP; private javax.swing.JCheckBox numSoucheCB; private javax.swing.JButton printBT; private javax.swing.JTextField prixBonET; private javax.swing.JTextField prixUnitaireET; private javax.swing.JTextField quantiteET; private javax.swing.JTextField seachImmatET; private javax.swing.JTextField seachNumSoucheET; private javax.swing.JTextField searchDateET; private javax.swing.JTextField soucheNumET; private javax.swing.JTable tableJT; private javax.swing.JComboBox typeUtilisationSP; private javax.swing.JCheckBox utilisationCB; private javax.swing.JComboBox utilisationSP; // End of variables declaration//GEN-END:variables }