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

88 lines
2.6 KiB
Java

package view;
import presenter.Presenter;
import view.MainFrame;
import view.listener.ExportDataListener;
import view.listener.GenerateDataListener;
import view.listener.ImportDataListener;
import view.panels.AboutPanel;
import javax.swing.*;
import java.awt.*;
/**
* Implementierung verschiedener Algorithmen zur Berechnung von Ausgleichsgeraden.
*
* @Author: Armin Wolf
* @Email: a_wolf28@uni-muenster.de
* @Date: 29.05.2017.
*/
public class MenuBar {
private MainFrame view;
private JMenuBar menuBar;
private JMenu fileMenu;
private JMenu toolsMenu;
private JMenu aboutMenu;
private JMenuItem exitItem;
private JMenuItem importItem;
private JMenuItem exportItem;
private JMenuItem generateItem;
private JMenuItem evaluateItem;
private JMenuItem aboutItem;
public MenuBar(MainFrame view) {
this.menuBar = new JMenuBar();
this.view = view;
this.fileMenu = new JMenu("Datei");
this.toolsMenu = new JMenu("Extras");
this.aboutMenu = new JMenu("Info");
this.exitItem = new JMenuItem("Exit");
this.importItem = new JMenuItem("Import");
this.exportItem = new JMenuItem("Export");
this.generateItem = new JMenuItem("Generiere...");
this.aboutItem = new JMenuItem("Über das Programm");
this.evaluateItem = new JMenuItem("Evaluation");
fileMenu.add(exitItem);
fileMenu.add(importItem);
fileMenu.add(exportItem);
toolsMenu.add(generateItem);
toolsMenu.add(evaluateItem);
aboutMenu.add(aboutItem);
menuBar.add(fileMenu);
menuBar.add(toolsMenu);
menuBar.add(aboutMenu);
}
public void addActionListeners(){
this.exitItem.addActionListener(e -> {System.exit(0);});
this.evaluateItem.addActionListener(e -> {view.showEvauluationDialog();});
this.importItem.addActionListener(new ImportDataListener((Presenter) view.getPresenter(), view));
this.exportItem.addActionListener(new ExportDataListener((Presenter) view.getPresenter(), view));
this.generateItem.addActionListener(new GenerateDataListener((Presenter) view.getPresenter()));
this.aboutItem.addActionListener(e -> {
SwingUtilities.invokeLater(() -> {
JDialog dialog = new JDialog();
dialog.setSize(410,420);
dialog.setResizable(false);
dialog.add(new AboutPanel());
dialog.setVisible(true);
});
});
}
public JMenuBar getMenuBar() {
return menuBar;
}
}