public void addWalletMenu(final Wallet w) {

        jm = new JMenu(w.getName());

        balanceItem = new JMenuItem("Balance : " + w.getBalance() + "€");
        balanceItem.setEnabled(false);
        jm.add(balanceItem);

        addMoneyItem = new JMenuItem("Add money");
        addMoneyItem.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                try {
                    JPanel panel = new JPanel();
                    JPanel ap = new JPanel();
                    JLabel amountLabel = new JLabel("Amount :");
                    JTextField amountInput = new JTextField(15);
                    ap.add(amountLabel);
                    ap.add(amountInput);
                    JPanel rp = new JPanel();
                    JLabel reasonLabel = new JLabel("Reason :");
                    JTextField reasonInput = new JTextField(15);
                    rp.add(reasonLabel);
                    rp.add(reasonInput);
                    panel.setLayout(new GridLayout(2, 1));
                    panel.add(ap);
                    panel.add(rp);

                    int op = JOptionPane.showConfirmDialog(null, panel, "Deposit", JOptionPane.OK_CANCEL_OPTION);

                    if (op == JOptionPane.OK_OPTION) {
                        float amount = Float.parseFloat(amountInput.getText());
                        String reason = reasonInput.getText();
                        w.addDeposit(amount, reason);
                    }

                } catch (NullPointerException e) {

                }
                balanceItem.setText("Balance : " + w.getBalance() + "€");
                revalidate();
            }
        });
        jm.add(addMoneyItem);

        takeMoneyItem = new JMenuItem("Take money");
        takeMoneyItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                try {
                    JPanel panel = new JPanel();
                    JPanel ap = new JPanel();
                    JLabel amountLabel = new JLabel("Amount :");
                    JTextField amountInput = new JTextField(15);
                    ap.add(amountLabel);
                    ap.add(amountInput);
                    JPanel rp = new JPanel();
                    JLabel reasonLabel = new JLabel("Reason :");
                    JTextField reasonInput = new JTextField(15);
                    rp.add(reasonLabel);
                    rp.add(reasonInput);
                    panel.setLayout(new GridLayout(2, 1));
                    panel.add(ap);
                    panel.add(rp);

                    if (w.getBalance() == 0) {
                        JOptionPane.showMessageDialog(null, "You don't have money to take away !! ");

                    } else {

                        int op = JOptionPane.showConfirmDialog(null, panel, "Withdraw", JOptionPane.OK_CANCEL_OPTION);
                        if (op == JOptionPane.OK_OPTION) {
                            float amount = Float.parseFloat(amountInput.getText());
                            String reason = reasonInput.getText();
                            if (amount <= w.getBalance()) {
                                w.addWithdraw(amount, reason);
                            } else {
                                JOptionPane.showMessageDialog(null, "Insuficient funds !\nCurrent Balance :" + w.getBalance() + "€");
                            }
                        }
                    }
                } catch (NullPointerException e) {

                }
                balanceItem.setText("Balance : " + w.getBalance() + "€");
                revalidate();

            }

        });
        jm.add(takeMoneyItem);

        setSalaryItem = new JMenuItem("Set a salary");
        jm.add(setSalaryItem);

        logItem = new JMenuItem("Log");
        logItem.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                System.out.println(w.getSpendings());
                LogDialog ld = new LogDialog(w);
            }
        });
        jm.add(logItem);

        deleteItem = new JMenuItem("Delete wallet");
        deleteItem.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                JPanel panel = new JPanel();
                JLabel label = new JLabel("Insert password ");
                JPasswordField pass = new JPasswordField(15);

                panel.add(label);
                panel.add(pass);

                int op = JOptionPane.showConfirmDialog(null, panel, "Password", JOptionPane.OK_CANCEL_OPTION);
                if (op == JOptionPane.YES_OPTION) {
                    if (pass.getText().equals(w.getPassword())) {
                        removeWallet();
                        mb.remove(jm);
                        create.setEnabled(true);
                        save.setEnabled(false);
                        isOpen = false;
                        revalidate();
                    } else {
                        JOptionPane.showMessageDialog(null, "Wrong Password!");
                    }
                }

            }
        });
        jm.add(deleteItem);

        logOutItem = new JMenuItem("Close wallet");
        logOutItem.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                mb.remove(jm);
                open.setEnabled(true);
                isOpen = false;
                revalidate();
            }
        });
        jm.add(logOutItem);
        jm.setMnemonic('w');

        mb.add(jm);
    }