57 lines
1.7 KiB
Java
57 lines
1.7 KiB
Java
package de.wwwu.awolf.view.listener;
|
|
|
|
import de.wwwu.awolf.presenter.Presenter;
|
|
import de.wwwu.awolf.presenter.util.Logging;
|
|
|
|
import javax.swing.*;
|
|
import javax.swing.filechooser.FileNameExtensionFilter;
|
|
import javax.swing.filechooser.FileSystemView;
|
|
import java.awt.*;
|
|
import java.awt.event.ActionEvent;
|
|
import java.awt.event.ActionListener;
|
|
import java.io.File;
|
|
|
|
/**
|
|
* Implementierung verschiedener Algorithmen zur Berechnung von Ausgleichsgeraden.
|
|
*
|
|
* @Author: Armin Wolf
|
|
* @Email: a_wolf28@uni-muenster.de
|
|
* @Date: 10.09.2017.
|
|
*/
|
|
public class ImportDataListener implements ActionListener {
|
|
|
|
private Presenter presenter;
|
|
|
|
/**
|
|
* Konstruktor
|
|
*
|
|
* @param presenter Presenter
|
|
*/
|
|
public ImportDataListener(Presenter presenter) {
|
|
this.presenter = presenter;
|
|
}
|
|
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
SwingUtilities.invokeLater(() -> {
|
|
Logging.logInfo("Thread: " + Thread.currentThread().getName());
|
|
JFileChooser chooser = new JFileChooser();
|
|
chooser.setPreferredSize(new Dimension(800, 700));
|
|
chooser.setFileFilter(new FileNameExtensionFilter("Comma-Separated Value, (*.csv)", "csv", "text"));
|
|
|
|
chooser.setMultiSelectionEnabled(false);
|
|
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
|
|
|
|
File file = null;
|
|
if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
|
|
//Logging.logInfo ("Datei "+chooser.getSelectedFile()+ " ausgewählt.");
|
|
file = chooser.getSelectedFile();
|
|
final File input = file;
|
|
Thread t = new Thread(() -> presenter.startImport(input));
|
|
t.start();
|
|
}
|
|
});
|
|
|
|
}
|
|
}
|