public PanelOptions() {

        JPanel content = new JPanel();
        content.setLayout(new BoxLayout(content, BoxLayout.Y_AXIS));

        lblGeneration = new JLabel("Génération #0,00");
        content.add(lblGeneration);
        content.add(new JLabel());
        content.add(new JLabel("Algorithme utilisé"));
        cmbAlgorithme = new JComboBox();
        cmbAlgorithme.addItem("Conway");
        cmbAlgorithme.addItem("High Life");
        cmbAlgorithme.addItem("Random");
        cmbAlgorithme.addItem("Personnalisé");
        cmbAlgorithme.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                ControllerGrille.setRules(getRule(), getGrid(), lblGeneration, btnProchaineGeneration);
                vTxtRule.setEnabled(cmbAlgorithme.getSelectedIndex() == 3);
            }
        });
        content.add(cmbAlgorithme);

        vTxtRule = new JValidTextField(Color.white, Color.pink);
        vTxtRule.setText("23/3");
        vTxtRule.setRegex("[0-8]{0,9}/[0-8]{0,9}");
        vTxtRule.addKeyListener(new KeyAdapter() {
            @Override
            public void keyReleased(KeyEvent e) {
                btnProchaineGeneration.setEnabled(isInputValid());
                if (vTxtRule.isInputValid()) {
                    ControllerGrille.setRules(getRule(), getGrid(), lblGeneration, btnProchaineGeneration);
                }
            }
        });
        vTxtRule.setEnabled(false);
        content.add(vTxtRule);

        content.add(new JLabel());

        chkPacManMode = new JCheckBox("Pac-man mode");
        chkPacManMode.addChangeListener(new ChangeListener() {
            @Override
            public void stateChanged(ChangeEvent e) {
                ControllerGrille.setWrap(chkPacManMode.isSelected(), getGrid(), lblGeneration, btnProchaineGeneration);
            }
        });
        content.add(chkPacManMode);

        chkPartyMode = new JCheckBox("Party mode");
        chkPartyMode.addChangeListener(new ChangeListener() {
            @Override
            public void stateChanged(ChangeEvent e) {
                JCellule[][] grid = getGrid();
                for (int i = 0; i < grid.length; i++) {
                    for (int j = 0; j < grid[0].length; j++) {
                        grid[i][j].setParty(((JCheckBox) e.getSource()).isSelected());
                    }
                }
                ControllerGrille.synchroniser(getGrid(), lblGeneration, btnProchaineGeneration);
            }
        });
        content.add(chkPartyMode);

        content.add(new JLabel());

        content.add(new JLabel("Bonds de :"));
        vTxtGeneration = new JValidTextField(Color.white, Color.pink);
        vTxtGeneration.setMaxValue(2000.0);
        vTxtGeneration.setMinValue(0.0);
        vTxtGeneration.setNumericOnly(true);
        vTxtGeneration.setText("0.5");
        vTxtGeneration.addKeyListener(new KeyAdapter() {
            @Override
            public void keyReleased(KeyEvent e) {
                //btnProchaineGeneration.setEnabled(isInputValid());
            }
        });
        content.add(vTxtGeneration);
        content.add(new JLabel("générations"));

        content.add(new JLabel(" "));
        content.setName("content");

        btnRandomize = new JButton("Randomizer");
        btnRandomize.setName("rnd");
        btnRandomize.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                ControllerGrille.randomize(getGrid(), lblGeneration, btnProchaineGeneration);
            }
        });

        content.add(btnRandomize);

        content.add(new JLabel(" "));

        btnProchaineGeneration = new JButton("Prochaine Génération");
        btnProchaineGeneration.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                ControllerGrille.prochaineGeneration(getGrid(), getSautDeGeneration(), lblGeneration, btnProchaineGeneration);
            }
        });

        btnProchaineGeneration.setBackground(Color.pink);
        content.add(btnProchaineGeneration);

        content.add(new JLabel(" "));

        btnAide = new JButton("Aide");
        btnAide.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                ControllerFenetres.apropos();
            }
        });
        content.add(btnAide);

        this.add(content);

        this.setVisible(true);
    }