12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- /*
- * 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 gui_adressverwaltung.Controller;
-
- import gui_adressverwaltung.Controller.Interface.CommandInterface;
- import gui_adressverwaltung.model.AdressverwaltungModel;
- import gui_adressverwaltung.view.Hauptfenster;
- import java.util.ArrayList;
- import java.util.Stack;
-
- /**
- *
- * @author nobody
- */
- public class DatenLoeschen implements CommandInterface
- {
- private AdressverwaltungModel model;
- private Hauptfenster view;
- private Stack<ArrayList<String>> datenStack;
-
-
- public DatenLoeschen(AdressverwaltungModel model, Hauptfenster view)
- {
- this.model = model;
- this.view = view;
- this.datenStack = new Stack<>();
- }
-
- /**
- * Fühhrt den Befehl aus
- */
-
- @Override
- public void execute()
- {
- try
- {
- int reihe = view.getTblAdressen().getSelectedRow();
- ArrayList<String> inhalt = new ArrayList<>();
- for(int i=0; i<model.getColumnCount();i++)
- {
- inhalt.add(model.getValueAt(reihe, i).toString());
- }
- datenStack.push(inhalt);
- model.eintragLoeschen(reihe);
- view.getLblStatus().setText("Zeile gelöscht");
- }
- catch(Exception ex)
- {
- view.getLblStatus().setText("Keine Zeile zum Löschen ausgewählt");
- }
- }
-
- @Override
- public void undo()
- {
- view.getLblStatus().setText("Fälschlicherweise gelöschte Zeile wieder eingefügt");
- model.eintragHinzufuegen();
- int endreihe = model.getRowCount();
- for(int i=0; i<model.getColumnCount();i++)
- {
- model.setValueAt(datenStack.lastElement().get(i), endreihe, i);
- }
- datenStack.removeElementAt(datenStack.size());
- }
-
- @Override
- public boolean isUndoable()
- {
- return true;
- }
- }
|