Dateien hochladen nach „controller“
This commit is contained in:
parent
6184dd1daf
commit
57e689fea0
77
controller/AdressenOeffnen.java
Normal file
77
controller/AdressenOeffnen.java
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
/*
|
||||||
|
* 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.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
import javax.swing.JFileChooser;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author am
|
||||||
|
*/
|
||||||
|
public class AdressenOeffnen implements CommandInterface
|
||||||
|
{
|
||||||
|
private AdressverwaltungModel model;
|
||||||
|
private Hauptfenster view;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param model
|
||||||
|
* @param view
|
||||||
|
*/
|
||||||
|
public AdressenOeffnen(AdressverwaltungModel model, Hauptfenster view)
|
||||||
|
{
|
||||||
|
this.model = model;
|
||||||
|
this.view = view;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Führt den Befehl aus
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void execute()
|
||||||
|
{
|
||||||
|
JFileChooser chooser = new JFileChooser();
|
||||||
|
chooser.showOpenDialog(view);
|
||||||
|
File file = chooser.getSelectedFile();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
model.datenLesen(file);
|
||||||
|
view.getLblStatus().setText("Neue Datei geöffnet");
|
||||||
|
}
|
||||||
|
catch(IOException | ClassNotFoundException ex)
|
||||||
|
{
|
||||||
|
Logger.getLogger(AdressenOeffnen.class.getName()).log(Level.SEVERE, null, ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Macht den Befehl rückgängig
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void undo()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gibt zurück ob die Aktion rücknehmbar ist
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isUndoable()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
73
controller/AdressenSpeichern.java
Normal file
73
controller/AdressenSpeichern.java
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
/*
|
||||||
|
* 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.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
import javax.swing.JFileChooser;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author nobody
|
||||||
|
*/
|
||||||
|
public class AdressenSpeichern implements CommandInterface
|
||||||
|
{
|
||||||
|
private AdressverwaltungModel model;
|
||||||
|
private Hauptfenster view;
|
||||||
|
|
||||||
|
|
||||||
|
public AdressenSpeichern(AdressverwaltungModel model, Hauptfenster view)
|
||||||
|
{
|
||||||
|
this.model = model;
|
||||||
|
this.view = view;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Führt den Befehl aus
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute()
|
||||||
|
{
|
||||||
|
JFileChooser chooser = new JFileChooser();
|
||||||
|
chooser.showSaveDialog(view);
|
||||||
|
File file = chooser.getSelectedFile();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
model.datenSpeichern(file);
|
||||||
|
view.getLblStatus().setText("Adressen wurden gespeichert");
|
||||||
|
}
|
||||||
|
catch(IOException ex)
|
||||||
|
{
|
||||||
|
Logger.getLogger(AdressenSpeichern.class.getName()).log(Level.SEVERE, null, ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Nimmt den Befehl zurück
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void undo()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Giubt zurück ob der Befehl rücknehmbar ist
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isUndoable()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
50
controller/DatenHinzufuegen.java
Normal file
50
controller/DatenHinzufuegen.java
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
/*
|
||||||
|
* 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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author nobody
|
||||||
|
*/
|
||||||
|
public class DatenHinzufuegen implements CommandInterface
|
||||||
|
{
|
||||||
|
private AdressverwaltungModel model;
|
||||||
|
private Hauptfenster view;
|
||||||
|
|
||||||
|
|
||||||
|
public DatenHinzufuegen(AdressverwaltungModel model, Hauptfenster view)
|
||||||
|
{
|
||||||
|
this.model = model;
|
||||||
|
this.view = view;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fühhrt den Befehl aus
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute()
|
||||||
|
{
|
||||||
|
view.getLblStatus().setText("Zeile hinzugefügt");
|
||||||
|
model.eintragHinzufuegen();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void undo()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isUndoable()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
76
controller/DatenLoeschen.java
Normal file
76
controller/DatenLoeschen.java
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
/*
|
||||||
|
* 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;
|
||||||
|
}
|
||||||
|
}
|
52
controller/UndoController.java
Normal file
52
controller/UndoController.java
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
/*
|
||||||
|
* 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.model.AdressverwaltungModel;
|
||||||
|
import gui_adressverwaltung.view.Hauptfenster;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author nobody
|
||||||
|
*/
|
||||||
|
public class UndoController implements ActionListener
|
||||||
|
{
|
||||||
|
private Hauptfenster view;
|
||||||
|
private AdressverwaltungModel model;
|
||||||
|
private CommandInvoker invoker;
|
||||||
|
|
||||||
|
public UndoController(Hauptfenster view, AdressverwaltungModel model, CommandInvoker invoker)
|
||||||
|
{
|
||||||
|
this.view = view;
|
||||||
|
this.model = model;
|
||||||
|
this.invoker = invoker;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void registerEvents()
|
||||||
|
{
|
||||||
|
view.getMndUndo().addActionListener(this);
|
||||||
|
view.getBtnUndo().addActionListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e)
|
||||||
|
{
|
||||||
|
try{
|
||||||
|
view.getLblStatus().setText("Undo Trigger");
|
||||||
|
invoker.undoCommand();
|
||||||
|
}
|
||||||
|
catch(Exception ex){
|
||||||
|
view.getLblStatus().setText("Fehler");
|
||||||
|
Logger.getLogger(AdressenSpeichern.class.getName()).log(Level.SEVERE, null, ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user