123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- /*
- * 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.util.Map;
- import java.util.Stack;
- import kontakte.model.Kontakt;
- import kontakte.model.Model;
- import kontakte.view.View;
-
- /**
- *
- * @author nobody
- */
- public class CommandNewKontaktOk implements CommandInterface
- {
- private View view;
- private Model model;
- private Stack<Kontakt> undoStack;
-
- public CommandNewKontaktOk(View view, Model model)
- {
- this.view = view;
- this.model = model;
- view.getAddEntryFrame().pack();
- undoStack = new Stack<Kontakt>();
- }
-
- @Override
- public void execute()
- {
- String name = view.getTextName().getText();
- String wohnort = view.getTextCity().getText();
- String strasse = view.getTextStreet().getText();
- view.getTextName().setText("");
- view.getTextCity().setText("");
- view.getTextStreet().setText("");
- Kontakt neuKon = new Kontakt(name, wohnort, strasse);
- model.addKontakt(neuKon);
- undoStack.add(neuKon);
- redrawTextbox();
- view.getAddEntryFrame().dispose();
- }
-
- @Override
- public void undo()
- {
- if(!undoStack.empty())
- {
- model.deleteKontakt(undoStack.pop());
- redrawTextbox();
- }
- }
-
- private void redrawTextbox()
- {
- view.getTxtKontakte().setText("");
- for (Map.Entry<String, Kontakt> k: model.kontaktliste.entrySet())
- {
- view.getTxtKontakte().append(k.getValue().name + " ");
- view.getTxtKontakte().append(k.getValue().wohnort + " ");
- view.getTxtKontakte().append(k.getValue().strasse + "\n");
- }
- }
- }
|