public JMenuItem createSaveItem() {
        save = new JMenuItem("Save");
        save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.CTRL_MASK));
        save.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                if (!(w == null)) {

                    FileOutputStream output;
                    File f;
                    JFileChooser chooser = new JFileChooser();
                    chooser.setFileFilter(new FileNameExtensionFilter("Wallet file", "wallet"));
                    chooser.setAcceptAllFileFilterUsed(false);

                    int op = chooser.showSaveDialog(null);
                    if (op == JFileChooser.APPROVE_OPTION) {
                        f = new File(chooser.getSelectedFile() + ".wallet");

                        try {
                            output = new FileOutputStream(f);
                            ObjectOutputStream out = new ObjectOutputStream(output);
                            out.writeObject(w);
                            close = true;
                            out.close();
                            output.close();
                        } catch (FileNotFoundException ex) {
                            Logger.getLogger(MainWindow.class.getName()).log(Level.SEVERE, null, ex);
                        } catch (IOException ex) {
                            Logger.getLogger(MainWindow.class.getName()).log(Level.SEVERE, null, ex);
                        }

                    } else if (op == JFileChooser.CANCEL_OPTION) {
                        close = false;
                    }
                } else {
                    JOptionPane.showMessageDialog(null, "Wallet not created !");
                }
            }
        });
        save.setEnabled(false);
        return save;
    }