package gui;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import gui.Welcome;
import gui.Learning;
import gui.CreateLangPack;
import gui.DeleteLangPack;
import gui.CreateCards;
//import gui.EditCards;
import gui.DeleteCards;
//import gui.ValuatioanTotal;
//import gui.ValuatioanPerPack;
//import gui.Userdata;
import gui.CreateCards;
public class MainFrame extends JFrame {
/**
* Hier entsteht das Hauptfenster der Anwendung
*
* Dies ist mit einem CardLayout gestaltet, damit
* die einwandfreie Funktion des Menus gewährleistet ist
*
* Die einzelnen Panels werden aus den externen Classen des gui
* Packages geladen
* siehe hierzu die Imports => import gui.*;
*
* @author kolis1
* @param userFirstName Hier holen wir uns den Vorname aus der ArrayList<USER>
* @param userSurName Hier holen wir uns den Nachname aus der ArrayList<USER>
* @param userIsteingeloggt Hier holen wir uns den Status, ob der User eingeloggt ist, aus der ArrayList<USER>
* @return
* @see
*/
private static final long serialVersionUID = 1L;
//====================================================================================
// Abfrage des Users = Variablen, die noch mit den ArrayLists verknüpft und ausgelesen werden müssen
//====================================================================================
String userFirstName = "Fred";
String userSurName = "Büchse";
String userIsteingeloggt = "1";
//====================================================================================
// Erstellen eines Containers für das Frame, in die die externen Panels geladen werden
//====================================================================================
Container mainPane;
CardLayout layout;
public MainFrame() {
//====================================================================================
// superclass und das Layout des Frames/Containers
//====================================================================================
super("Vokabeltrainer");
layout = new CardLayout();
setLayout(layout);
mainPane = this.getContentPane();
Welcome start = new Welcome();
mainPane.add("Lernen starten", start);
Learning learningStart = new Learning();
mainPane.add("Lernen starten", learningStart);
CreateLangPack createLangPack = new CreateLangPack();
mainPane.add("Sprachpaket erstellen", createLangPack);
DeleteLangPack deleteLangPack = new DeleteLangPack();
mainPane.add("Sprachpaket löschen", deleteLangPack);
CreateCards createCards = new CreateCards();
mainPane.add("Karte erstellen", createCards);
// EditCards editCards = new EditCards();
// mainPane.add("Karte bearbeiten", editCards);
DeleteCards deleteCards = new DeleteCards();
mainPane.add("Karte löschen", deleteCards);
// TotalValuation totalValuation = new TotalValuation();
// mainPane.add("Auswertung gesamt", totalValuation);
//
// PerPackValuation perPackValuation = new PerPackValuation();
// mainPane.add("Auswertung per Sprachpaket", perPackValuation);
// UserData userData = new UserData();
// mainPane.add("Meine Daten", userData);
//
//====================================================================================
// Konstruktor Menu
//====================================================================================
JMenuBar mainMenu = new JMenuBar();
//====================================================================================
// Konstruktor Menu first-Level Lernen
//====================================================================================
JMenu learning = new JMenu();
JMenuItem startLearning = new JMenuItem();
JMenuItem menuFileExit = new JMenuItem();
learning.setText("LERNEN");
startLearning.setText("Lernen starten");
menuFileExit.setText("Programm schliessen");
//====================================================================================
// Konstruktor Menu first-Level Sprachpakete
//====================================================================================
JMenu langPack = new JMenu();
JMenuItem langPackCreate = new JMenuItem();
JMenuItem langPackDelete = new JMenuItem();
langPack.setText("Sprachpakete");
langPackCreate.setText("Sprachpaket erstellen");
langPackDelete.setText("Sprachpaket löschen");
//====================================================================================
// Konstruktor Menu first-Level Karten
//====================================================================================
JMenu cards = new JMenu();
JMenuItem cardsCreate = new JMenuItem();
JMenuItem cardsEdit = new JMenuItem();
JMenuItem cardsDelete = new JMenuItem();
cards.setText("Karten");
cardsCreate.setText("Karte erstellen");
cardsEdit.setText("Karte bearbeiten");
cardsDelete.setText("Karte löschen");
//====================================================================================
// Auswertungen
//====================================================================================
JMenu valuation = new JMenu();
JMenuItem valuationTotal = new JMenuItem();
JMenuItem valuationPerPack = new JMenuItem();
valuation.setText("Auswertungen");
valuationTotal.setText("Auswertung gesamt");
valuationPerPack.setText("Auswertung per Sprachpaket");
//====================================================================================
// Auswertungen
//====================================================================================
JMenu user = new JMenu();
JMenuItem userDataMyData = new JMenuItem();
JMenuItem userDataLogOff = new JMenuItem();
user.setText("Hallo " + userFirstName + " " + userSurName);
userDataMyData.setText("Meine Daten");
userDataLogOff.setText("Abmelden");
//====================================================================================
// Actionlistener für Lernen
//====================================================================================
startLearning.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
layout.show(mainPane, "Lernen starten");
}
});
menuFileExit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
MainFrame.this.windowClosed();
}
});
//====================================================================================
// ActionListener für Sprachpakete
//====================================================================================
langPackCreate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
layout.show(mainPane, "Sprachpaket erstellen");
}
});
langPackDelete.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
layout.show(mainPane, "Sprachpaket löschen");
}
});
//====================================================================================
// ActionListener für Karten
//====================================================================================
cardsCreate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
layout.show(mainPane, "Karte erstellen");
}
});
cardsEdit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
layout.show(mainPane, "Karte bearbeiten");
}
});
cardsDelete.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
layout.show(mainPane, "Karte löschen");
}
});
//====================================================================================
// ActionListener für Auswertungen
//====================================================================================
valuationTotal.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
layout.show(mainPane, "Auswertung gesamt");
}
});
valuationPerPack.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
layout.show(mainPane, "Auswertung per Sprachpaket");
}
});
//====================================================================================
// ActionListener für Benutzer
//====================================================================================
userDataMyData.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
layout.show(mainPane, "Meine Daten");
}
});
userDataLogOff.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
MainFrame.this.windowlogoff();
}
});
//====================================================================================
// Alle Items von Lernen zu Lernen hinzufügen und zum Schluss Lernen zum Menu
//====================================================================================
learning.add(startLearning);
learning.add(menuFileExit);
mainMenu.add(learning);
//====================================================================================
// Alle Items von Lernen zu Sprachpaket hinzufügen und zum Schluss Lernen zum Menu
//====================================================================================
langPack.add(langPackCreate);
langPack.add(langPackDelete);
mainMenu.add(langPack);
//====================================================================================
// Alle Items von Lernen zu Karten hinzufügen und zum Schluss Lernen zum Menu
//====================================================================================
cards.add(cardsCreate);
cards.add(cardsEdit);
cards.add(cardsDelete);
mainMenu.add(cards);
//====================================================================================
// Alle Items von Lernen zu Auswertung hinzufügen und zum Schluss Lernen zum Menu
//====================================================================================
valuation.add(valuationTotal);
valuation.add(valuationPerPack);
mainMenu.add(valuation);
//====================================================================================
// Alle Items von Lernen zu Benutzer hinzufügen und zum Schluss Lernen zum Menu
//====================================================================================
user.add(userDataMyData);
user.add(userDataLogOff);
mainMenu.add(user);
//====================================================================================
// Hier wird der Container / Frame zusammengesetzt, initialisiert
// und die Dimensionen (Grösse) festgelegt
//====================================================================================
setTitle("Vokabeltrainer");
setJMenuBar(mainMenu);
setSize(new Dimension(1024, 768));
//====================================================================================
// Hier der WindowListener, der bestimmt, was passiert, wenn das Fenster geschlossen wird
//====================================================================================
this.addWindowListener
(
new WindowAdapter() {
public void windowClosing(WindowEvent e) {
MainFrame.this.windowClosed();
}
}
);
}
//====================================================================================
// Hier der WindowListener, der bestimmt, was passiert, wenn das Fenster geschlossen wird
//====================================================================================
protected void windowClosed() {
// Exit game
System.exit(0);
}
//====================================================================================
// Hier der WindowListener, der bestimmt, was passiert, wenn das Fenster geschlossen wird
//====================================================================================
protected void windowlogoff() {
// Exit game
RegisterScreen login = new RegisterScreen();
login.setVisible(true);
dispose();
}
//====================================================================================
// Mainmethode, die den Frame
//====================================================================================
public static void main(String[] arg) {
MainFrame mainFrame = new MainFrame();
mainFrame.setVisible(true);
}
}