/* * 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 kontakte.controller; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; import javax.swing.JOptionPane; import kontakte.model.Model; import kontakte.view.View; /** * * @author nobody */ public class CommandSave implements CommandInterface { private View view; private Model model; public CommandSave(View view, Model model) { this.view = view; this.model = model; } @Override public void execute() { if (view.getFileChooser().getSelectedFile() == null) { view.getFileChooser().showSaveDialog(view); String fileAdd = view.getFileChooser().getSelectedFile().getAbsolutePath(); view.getTextFileAdress().setText(fileAdd); } try { FileOutputStream fileOut = new FileOutputStream(view.getFileChooser().getSelectedFile()); ObjectOutputStream objOut = new ObjectOutputStream(fileOut); objOut.writeObject(model.kontaktliste); objOut.close(); } catch(Exception e) { JOptionPane.showMessageDialog(view, "Konnte nicht schreiben.", "Fehler", JOptionPane.ERROR_MESSAGE); } } @Override public void undo() { } }