108 lines
3.1 KiB
Java
108 lines
3.1 KiB
Java
package view;
|
|
|
|
import presenter.Presenter;
|
|
import view.listener.ExportDataListener;
|
|
import view.listener.GenerateDataListener;
|
|
import view.listener.ImportDataListener;
|
|
import view.listener.PictureImportListener;
|
|
import view.panels.AboutPanel;
|
|
|
|
import javax.swing.*;
|
|
|
|
/**
|
|
* 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;
|
|
private JMenuItem importPicture;
|
|
|
|
/**
|
|
* Konstruktor
|
|
* @param view View
|
|
*/
|
|
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.importPicture = new JMenuItem("Bildimport");
|
|
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(importPicture);
|
|
toolsMenu.add(evaluateItem);
|
|
|
|
|
|
aboutMenu.add(aboutItem);
|
|
|
|
menuBar.add(fileMenu);
|
|
menuBar.add(toolsMenu);
|
|
menuBar.add(aboutMenu);
|
|
}
|
|
|
|
/**
|
|
* Fügt den Komponenten Funktionalitäten hinzu
|
|
*/
|
|
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.setLocationRelativeTo(view);
|
|
dialog.add(new AboutPanel());
|
|
dialog.setVisible(true);
|
|
});
|
|
});
|
|
this.importPicture.addActionListener(new PictureImportListener((Presenter) view.getPresenter(), view));
|
|
|
|
}
|
|
|
|
/**
|
|
* @return liefert die MenuBar Instanz zurück
|
|
*/
|
|
public JMenuBar getMenuBar() {
|
|
return menuBar;
|
|
}
|
|
}
|