algorithms-for-computing-li.../LinearRegressionTool/src/main/java/view/listener/StartAlgorithmListener.java

53 lines
1.6 KiB
Java

package view.listener;
import presenter.Presenter;
import view.panels.tabs.LMSPanel;
import view.panels.tabs.RMPanel;
import view.panels.tabs.TSPanel;
import view.panels.tabs.TabPanel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
* Implementierung verschiedener Algorithmen zur Berechnung von Ausgleichsgeraden.
*
* @Author: Armin Wolf
* @Email: a_wolf28@uni-muenster.de
* @Date: 10.09.2017.
*/
public class StartAlgorithmListener implements ActionListener {
private Presenter presenter;
private TabPanel tabPanel;
public StartAlgorithmListener(Presenter presenter, TabPanel tabPanel) {
this.presenter = presenter;
this.tabPanel = tabPanel;
}
@Override
public void actionPerformed(ActionEvent e) {
if (tabPanel instanceof LMSPanel){
if ( ((LMSPanel) tabPanel).getInput() != null) {
Thread t = new Thread(
() -> presenter.calculateLMS(((LMSPanel) tabPanel).getInput()));
t.start();
}
} else if (tabPanel instanceof RMPanel){
if ( ((RMPanel) tabPanel).getInput() != null) {
Thread t = new Thread(
() -> presenter.calculateRM(((RMPanel) tabPanel).getInput()));
t.start();
}
} else if(tabPanel instanceof TSPanel){
Thread t = new Thread(
() -> presenter.calculateTS(""));
t.start();
} else {
throw new IllegalArgumentException("Unknown Algortihm representation Panel!");
}
}
}