projet_muticriteres.Fenetre.java Source code

Java tutorial

Introduction

Here is the source code for projet_muticriteres.Fenetre.java

Source

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

import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.List;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.*;
import javax.swing.border.TitledBorder;
import javax.swing.filechooser.FileNameExtensionFilter;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.JTableHeader;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.DataFormatter;

/**
 *
 * @author yassine
 */
public class Fenetre extends javax.swing.JFrame {

    private ArrayList<Action> tabActions = new ArrayList<Action>();
    private Vector<String> tabCriteres = new Vector<String>();
    private Vector<JTextField> text = new Vector<JTextField>();
    private Vector<JLabel> label = new Vector<JLabel>();
    private Vector<JPanel> panel = new Vector<JPanel>();
    private JPanel panelBout = new JPanel();
    private JButton boutonOk = new JButton("OK", new ImageIcon("tick.png"));
    private JButton boutonCan = new JButton("Annuler", new ImageIcon("cross-script.png"));
    private JDialog boiteAgrega;

    private Action action;
    private String critere;
    private JTable tab;
    private Object jTextField1;
    private String[] titreColonne;
    private Object[][] donnees;
    private int[] parametres;
    private DefaultTableModel model;

    /**
     * Creates new form Fenetre
     */
    public Fenetre() {
        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() {

        jPanel1 = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jButton3 = new javax.swing.JButton();
        jButton4 = new javax.swing.JButton();
        jButton5 = new javax.swing.JButton();
        jPanel2 = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        jMenuItem1 = new javax.swing.JMenuItem();
        jMenuItem2 = new javax.swing.JMenuItem();
        jSeparator1 = new javax.swing.JPopupMenu.Separator();
        jMenuItem3 = new javax.swing.JMenuItem();
        jMenu2 = new javax.swing.JMenu();
        jMenuItem4 = new javax.swing.JMenuItem();
        jMenuItem5 = new javax.swing.JMenuItem();
        jMenuItem6 = new javax.swing.JMenuItem();
        jMenuItem9 = new javax.swing.JMenuItem();
        jMenu3 = new javax.swing.JMenu();
        jMenuItem7 = new javax.swing.JMenuItem();
        jMenuItem8 = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("DECISION MULTICRITERES");

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Mthodes",
                javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.TOP));

        jButton1.setText("Agrgation");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jButton2.setText("OPT. Lexicographique");

        jButton3.setText("Distances");
        jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton3ActionPerformed(evt);
            }
        });

        jButton4.setText("Surclassement");

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout
                .setHorizontalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(jPanel1Layout.createSequentialGroup().addGap(37, 37, 37)
                                .addGroup(jPanel1Layout
                                        .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                        .addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE,
                                                javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                        .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE,
                                                javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                        .addComponent(jButton3, javax.swing.GroupLayout.DEFAULT_SIZE,
                                                javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                        .addComponent(jButton4, javax.swing.GroupLayout.DEFAULT_SIZE,
                                                javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                .addContainerGap(23, Short.MAX_VALUE)));
        jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel1Layout.createSequentialGroup().addGap(30, 30, 30).addComponent(jButton1)
                        .addGap(39, 39, 39).addComponent(jButton2).addGap(53, 53, 53).addComponent(jButton3)
                        .addGap(52, 52, 52).addComponent(jButton4).addContainerGap(183, Short.MAX_VALUE)));

        jButton5.setText("Quitter");
        jButton5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton5ActionPerformed(evt);
            }
        });

        jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Affichage",
                javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.TOP));

        jTable1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
        jTable1.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 },
                        { 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[] { "Title 1", "Title 2", "Title 3", "Title 4", "Title 5", "Title 6", "Title 7",
                        "Title 8", "Title 9", "Title 10" }) {
            boolean[] canEdit = new boolean[] { false, false, false, false, false, false, false, false, false,
                    false };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit[columnIndex];
            }
        });
        jTable1.setCursor(new java.awt.Cursor(java.awt.Cursor.CROSSHAIR_CURSOR));
        jTable1.setDebugGraphicsOptions(javax.swing.DebugGraphics.NONE_OPTION);
        jScrollPane1.setViewportView(jTable1);

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout
                .setHorizontalGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 958, Short.MAX_VALUE));
        jPanel2Layout.setVerticalGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel2Layout.createSequentialGroup().addContainerGap()
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 230,
                                javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));

        jMenu1.setText("Fichier");

        jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O,
                java.awt.event.InputEvent.CTRL_MASK));
        jMenuItem1.setIcon(new javax.swing.ImageIcon(
                "C:\\Users\\yassine\\Documents\\NetBeansProjects\\Projet_MutiCriteres\\icons\\mail-open.png")); // NOI18N
        jMenuItem1.setText("Ouvrir");
        jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem1ActionPerformed(evt);
            }
        });
        jMenu1.add(jMenuItem1);

        jMenuItem2.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_E,
                java.awt.event.InputEvent.CTRL_MASK));
        jMenuItem2.setIcon(new javax.swing.ImageIcon(
                "C:\\Users\\yassine\\Documents\\NetBeansProjects\\Projet_MutiCriteres\\icons\\disk-black.png")); // NOI18N
        jMenuItem2.setText("Enregistrer");
        jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem2ActionPerformed(evt);
            }
        });
        jMenu1.add(jMenuItem2);
        jMenu1.add(jSeparator1);

        jMenuItem3.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Q,
                java.awt.event.InputEvent.CTRL_MASK));
        jMenuItem3.setIcon(new javax.swing.ImageIcon(
                "C:\\Users\\yassine\\Documents\\NetBeansProjects\\Projet_MutiCriteres\\icons\\computer_delete.png")); // NOI18N
        jMenuItem3.setText("Quitter");
        jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem3ActionPerformed(evt);
            }
        });
        jMenu1.add(jMenuItem3);

        jMenuBar1.add(jMenu1);

        jMenu2.setText("Mthodes");

        jMenuItem4.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_A,
                java.awt.event.InputEvent.CTRL_MASK));
        jMenuItem4.setIcon(new javax.swing.ImageIcon(
                "C:\\Users\\yassine\\Documents\\NetBeansProjects\\Projet_MutiCriteres\\icons\\application.png")); // NOI18N
        jMenuItem4.setText("Agrgation");
        jMenuItem4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem4ActionPerformed(evt);
            }
        });
        jMenu2.add(jMenuItem4);

        jMenuItem5.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_L,
                java.awt.event.InputEvent.CTRL_MASK));
        jMenuItem5.setIcon(new javax.swing.ImageIcon(
                "C:\\Users\\yassine\\Documents\\NetBeansProjects\\Projet_MutiCriteres\\icons\\application_add.png")); // NOI18N
        jMenuItem5.setText("OPT. Lexicographique");
        jMenu2.add(jMenuItem5);

        jMenuItem6.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_D,
                java.awt.event.InputEvent.CTRL_MASK));
        jMenuItem6.setIcon(new javax.swing.ImageIcon(
                "C:\\Users\\yassine\\Documents\\NetBeansProjects\\Projet_MutiCriteres\\icons\\application_cascade.png")); // NOI18N
        jMenuItem6.setText("Distances");
        jMenuItem6.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem6ActionPerformed(evt);
            }
        });
        jMenu2.add(jMenuItem6);

        jMenuItem9.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S,
                java.awt.event.InputEvent.CTRL_MASK));
        jMenuItem9.setIcon(new javax.swing.ImageIcon(
                "C:\\Users\\yassine\\Documents\\NetBeansProjects\\Projet_MutiCriteres\\icons\\application-block.png")); // NOI18N
        jMenuItem9.setText("Surclassement");
        jMenuItem9.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem9ActionPerformed(evt);
            }
        });
        jMenu2.add(jMenuItem9);

        jMenuBar1.add(jMenu2);

        jMenu3.setText("Autres");

        jMenuItem7.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_H,
                java.awt.event.InputEvent.CTRL_MASK));
        jMenuItem7.setIcon(new javax.swing.ImageIcon(
                "C:\\Users\\yassine\\Documents\\NetBeansProjects\\Projet_MutiCriteres\\icons\\book-question.png")); // NOI18N
        jMenuItem7.setText("Aide");
        jMenuItem7.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem7ActionPerformed(evt);
            }
        });
        jMenu3.add(jMenuItem7);

        jMenuItem8.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_P,
                java.awt.event.InputEvent.CTRL_MASK));
        jMenuItem8.setIcon(new javax.swing.ImageIcon(
                "C:\\Users\\yassine\\Documents\\NetBeansProjects\\Projet_MutiCriteres\\icons\\balloon-smiley.png")); // NOI18N
        jMenuItem8.setText("A propos");
        jMenu3.add(jMenuItem8);

        jMenuBar1.add(jMenu3);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(layout.createSequentialGroup()
                                        .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                                javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
                                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                                        layout.createSequentialGroup()
                                                .addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 135,
                                                        javax.swing.GroupLayout.PREFERRED_SIZE)
                                                .addGap(35, 35, 35)))
                        .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE,
                                javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addContainerGap()));
        layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                        .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
                                javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18).addComponent(jButton5).addGap(0, 19, Short.MAX_VALUE))
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                        layout.createSequentialGroup().addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE,
                                javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addContainerGap()));

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

    private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed

        final JFileChooser fc = new JFileChooser(new File("."));
        FileNameExtensionFilter filtre = new FileNameExtensionFilter("Fichier Excel", "xlsx", "xls");
        fc.setFileFilter(filtre);
        File fichier;
        if (fc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
            fichier = fc.getSelectedFile();

            try {

                POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(fichier.getCanonicalPath()));

                HSSFWorkbook wb = new HSSFWorkbook(fs);
                HSSFSheet sheet = wb.getSheetAt(0);
                HSSFRow row = null;
                HSSFCell cell = null;
                double totalLigne = 0.0;
                double totalGeneral = 0.0;
                int numLigne = 1;
                int ligne = 0;
                int colonne = 0;
                int k;
                row = sheet.getRow(0);
                while (sheet.getRow(ligne) != null) {
                    row = sheet.getRow(ligne);
                    colonne = 0;
                    k = 0;
                    if (ligne == 0) {
                        colonne = 1;
                        while (row.getCell(colonne) != null) {
                            cell = row.getCell(colonne);
                            tabCriteres.add(cell.getStringCellValue());
                            colonne++;

                        }

                    } else {
                        while (row.getCell(colonne) != null) {
                            cell = row.getCell(colonne);
                            if (colonne == 0) {
                                action = new Action(cell.getStringCellValue(), tabCriteres.size());
                            } else {
                                action.ajouterNote((int) cell.getNumericCellValue(), colonne - 1);
                            }
                            colonne++;
                        }
                        tabActions.add(action);
                    }
                    ligne++;
                }

                fs.close();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            /*for (int i=0; i<tabCriteres.size(); i++){
              System.out.println("critere "+i+" : "+tabCriteres.get(i));
            }
            for (int i=0; i<tabActions.size(); i++){
              System.out.println("action "+i+" : "+tabActions.get(i).getNom());
              for (int j=0; j<tabCriteres.size();j++){
                  System.out.println("note"+j+":"+tabActions.get(i).getNote(j));
              }
                  
                
            }*/

            titreColonne = new String[tabCriteres.size() + 1];
            donnees = new Object[tabActions.size()][tabCriteres.size() + 1];
            titreColonne[0] = "";
            for (int i = 0; i < tabCriteres.size(); i++) {
                titreColonne[i + 1] = tabCriteres.get(i);
            }
            for (int i = 0; i < tabActions.size(); i++) {
                donnees[i][0] = tabActions.get(i).getNom();
            }
            for (int j = 0; j < tabActions.size(); j++) {
                for (int k = 1; k < tabCriteres.size() + 1; k++) {
                    donnees[j][k] = tabActions.get(j).getNote(k - 1);
                }
            }
            model = new DefaultTableModel(donnees, titreColonne);
            jTable1.setModel(model);
            // this.getContentPane().add(new JScrollPane(tab));
            //this.add(tab);
            //jPanel2.add(label10);

            //jButton6.setLabel("buton");
            //jPanel2.add(jButton6);

            jTable1.setVisible(true);

            //jPanel2.repaint();

            for (int i = 0; i < tabCriteres.size() + 1; i++) {
                System.out.println("critere " + i + " : " + titreColonne[i]);
            }
            for (int i = 0; i < tabActions.size(); i++) {
                System.out.println("action " + i + " : " + donnees[i][0]);
                for (int j = 1; j < tabCriteres.size() + 1; j++) {
                    System.out.println("note" + j + ":" + donnees[i][j]);
                }

            }

        }

    }//GEN-LAST:event_jMenuItem1ActionPerformed

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

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

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

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

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

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

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

    private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton5ActionPerformed
        this.dispose(); // TODO add your handling code here:
    }//GEN-LAST:event_jButton5ActionPerformed

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed

        JTextField textInt;
        JLabel labelInt;
        JPanel panelInt;
        boiteAgrega = new JDialog(this, "Agrgation", false);

        TitledBorder title;
        boiteAgrega.setSize(500, 270);
        boiteAgrega.setLocationRelativeTo(null);
        boiteAgrega.setResizable(false);
        //this.setDefaultCloseOperation(JDialog.);
        JPanel panelPrincipal = new JPanel();

        panelPrincipal.setLayout(new GridLayout(tabCriteres.size() + 1, 1));

        title = BorderFactory.createTitledBorder("Veuillez saisir les poids des critres :");
        title.setTitleJustification(TitledBorder.CENTER);
        title.setTitlePosition(TitledBorder.TOP);

        panelPrincipal.setBorder(title);

        for (int i = 0; i < tabCriteres.size(); i++) {
            panelInt = new JPanel();
            labelInt = new JLabel(tabCriteres.get(i) + " : ");
            textInt = new JTextField("1");
            textInt.setPreferredSize(new Dimension(100, 25));
            panel.add(panelInt);
            label.add(labelInt);
            text.add(textInt);
            panel.get(i).add(label.get(i));
            panel.get(i).add(text.get(i));

            panelPrincipal.add(panel.get(i));
        }

        panelBout.add(boutonOk);
        panelBout.add(boutonCan);
        panelPrincipal.add(panelBout);

        boiteAgrega.getContentPane().add(panelPrincipal);
        boiteAgrega.setVisible(true);
        //this.getContentPane().add(panel1);

        parametres = new int[tabCriteres.size()];
        boutonCan.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                boiteAgrega.setVisible(false);
            }
        });
        boutonOk.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                String txt;

                for (int j = 0; j < tabCriteres.size(); j++) {
                    txt = text.get(j).getText();
                    parametres[j] = Integer.parseInt(txt);
                }
                Agregation agregation = new Agregation(tabActions, parametres, tabCriteres.size());
                Collections.sort(tabActions, new Comparator<Action>() {
                    public int compare(Action action1, Action action2) {
                        return Double.compare(action1.getScore(), action2.getScore());
                    }
                });

                for (int i = 0; i < tabActions.size(); i++) {
                    donnees[i][0] = tabActions.get(i).getNom();
                }
                for (int j = 0; j < tabActions.size(); j++) {
                    for (int k = 1; k < tabCriteres.size() + 1; k++) {
                        donnees[j][k] = tabActions.get(j).getNote(k - 1);
                    }
                }
                model = new DefaultTableModel(donnees, titreColonne);
                jTable1.setModel(model);
                jTable1.setVisible(true);
            }
        });

        //  Agregation agregation= new Agregation(tabActions,);  

    }//GEN-LAST:event_jButton1ActionPerformed

    /**
    * @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(Fenetre.class.getName()).log(java.util.logging.Level.SEVERE, null,
                    ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Fenetre.class.getName()).log(java.util.logging.Level.SEVERE, null,
                    ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Fenetre.class.getName()).log(java.util.logging.Level.SEVERE, null,
                    ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Fenetre.class.getName()).log(java.util.logging.Level.SEVERE, null,
                    ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Fenetre().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton4;
    private javax.swing.JButton jButton5;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenu jMenu3;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenuItem jMenuItem1;
    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.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JPopupMenu.Separator jSeparator1;
    private javax.swing.JTable jTable1;
    // End of variables declaration//GEN-END:variables
}