LehnerPraktikum/src/command/commands/CommandOpenFile.java
2020-11-10 11:30:07 +01:00

82 lines
2.1 KiB
Java

/*
* 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 command.commands;
import command.CommandInterface;
import java.awt.event.ActionEvent;
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.prefs.Preferences;
import javax.swing.JFileChooser;
import model.AdressVerwaltungModel;
import view.MainWindow;
/**
*
* @author PC
*/
public class CommandOpenFile implements CommandInterface{
private MainWindow view;
private AdressVerwaltungModel model;
private Preferences prefs;
public CommandOpenFile(MainWindow view, AdressVerwaltungModel model) {
this.view = view;
this.model = model;
this.prefs = model.getPreferences();
}
@Override
public void execute() {
String lastDirectoryPath = prefs.get("lastFileOpened", "");
File file = new File(lastDirectoryPath);
view.getjFileChooser().setCurrentDirectory(file);
int wahl = view.getjFileChooser().showOpenDialog(view);
if(wahl == JFileChooser.APPROVE_OPTION)
{
file = view.getjFileChooser().getSelectedFile();
view.getStatusbar().setText(file.getAbsolutePath());
prefs.put("lastFileOpened", file.getAbsolutePath());
try
{
model.datenLesen(file);
}
catch (UnsupportedEncodingException ex)
{
view.getStatusbar().setText(ex.toString());
}
catch (IOException | ClassNotFoundException ex )
{
view.getStatusbar().setText(ex.toString());
}
}
}
@Override
public void undo() {
}
@Override
public boolean isUndoable() {
return false;
}
}