Grundbaustein des User Interface
parent
50cb027cbe
commit
e44f710161
|
|
@ -0,0 +1,2 @@
|
||||||
|
Ali,12.01.2025,20:00,2
|
||||||
|
,,,
|
||||||
|
|
@ -1,28 +1,2 @@
|
||||||
ID: aa9888b3-148a-4866-b404-7f9dc262153b
|
01,Dima,Cheeseburger, Ramen,2,100€
|
||||||
Tisch Nummer: 1
|
02,Ali,Ramen,2
|
||||||
Bestellte Gerichte:
|
|
||||||
- Cheeseburger
|
|
||||||
|
|
||||||
Zeit: 20:00
|
|
||||||
--------------------------
|
|
||||||
ID: 47856861-c7fc-4fb7-9366-174851fb1f46
|
|
||||||
Tisch Nummer: 01
|
|
||||||
Bestellte Gerichte:
|
|
||||||
- Cheeseburger
|
|
||||||
|
|
||||||
Zeit: 16:13
|
|
||||||
--------------------------
|
|
||||||
ID: 004b2f19-5c8f-47bf-9a8d-38ee515f4526
|
|
||||||
Tisch Nummer: 2
|
|
||||||
Bestellte Gerichte:
|
|
||||||
|
|
||||||
Zeit: 15:47
|
|
||||||
--------------------------
|
|
||||||
ID: 3aa58523-b89b-480f-a486-8348f4e3381d
|
|
||||||
Tisch Nummer: 1
|
|
||||||
Bestellte Gerichte:
|
|
||||||
- Cheeseburger
|
|
||||||
- Double Meat Burger
|
|
||||||
|
|
||||||
Zeit: 15:47
|
|
||||||
--------------------------
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
1,Abbas,15:30
|
|
||||||
1,Dimimtry,18:00
|
|
||||||
1,Ariminho,20:00
|
|
||||||
2,Ali und Arim,19:00
|
|
||||||
1,Ilinho,13:30
|
|
||||||
|
|
@ -44,7 +44,7 @@ class SystemController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private User authenticate(String username, String password) {
|
User authenticate(String username, String password) {
|
||||||
if (users.containsKey(username) && users.get(username).password.equals(password)) {
|
if (users.containsKey(username) && users.get(username).password.equals(password)) {
|
||||||
return users.get(username);
|
return users.get(username);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
Ali,Küche,15.000€
|
||||||
|
|
@ -1,7 +1,2 @@
|
||||||
Nudeln,150
|
Brot,100,10
|
||||||
Soße,100
|
Tomaten,1000,10
|
||||||
Brot,100
|
|
||||||
Tomaten,200
|
|
||||||
Salat,260
|
|
||||||
Käse,100
|
|
||||||
Fleisch,200
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,92 @@
|
||||||
|
package userinterface;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import javax.swing.table.DefaultTableModel;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.io.*;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class InventoryPanel extends JPanel {
|
||||||
|
private DefaultTableModel tableModel;
|
||||||
|
private JTable table;
|
||||||
|
private List<String[]> stockItems;
|
||||||
|
private final String filePath = "src/stock.txt";
|
||||||
|
|
||||||
|
public InventoryPanel(JFrame frame, JPanel mainPanel) {
|
||||||
|
this.setLayout(new BorderLayout());
|
||||||
|
JLabel label = new JLabel("Bestand verwalten", SwingConstants.CENTER);
|
||||||
|
label.setFont(new Font("Arial", Font.BOLD, 24));
|
||||||
|
this.add(label, BorderLayout.NORTH);
|
||||||
|
|
||||||
|
// Tabelle vorbereiten
|
||||||
|
String[] columns = {"Produkt", "Menge"};
|
||||||
|
tableModel = new DefaultTableModel(columns, 0);
|
||||||
|
table = new JTable(tableModel);
|
||||||
|
loadStock();
|
||||||
|
JScrollPane scrollPane = new JScrollPane(table);
|
||||||
|
this.add(scrollPane, BorderLayout.CENTER);
|
||||||
|
|
||||||
|
// Steuerpanel unten
|
||||||
|
JPanel controlPanel = new JPanel();
|
||||||
|
JButton refreshButton = new JButton("Aktualisieren");
|
||||||
|
JButton backButton = new JButton("Zurück");
|
||||||
|
controlPanel.add(refreshButton);
|
||||||
|
controlPanel.add(backButton);
|
||||||
|
this.add(controlPanel, BorderLayout.SOUTH);
|
||||||
|
|
||||||
|
// ActionListener für Buttons
|
||||||
|
refreshButton.addActionListener(e -> loadStock());
|
||||||
|
backButton.addActionListener(e -> switchPanel(frame, mainPanel));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void switchPanel(JFrame frame, JPanel mainPanel) {
|
||||||
|
frame.getContentPane().removeAll();
|
||||||
|
frame.add(mainPanel, BorderLayout.CENTER);
|
||||||
|
frame.revalidate();
|
||||||
|
frame.repaint();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void loadStock() {
|
||||||
|
stockItems = new ArrayList<>();
|
||||||
|
tableModel.setRowCount(0);
|
||||||
|
try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
|
||||||
|
String line;
|
||||||
|
while ((line = reader.readLine()) != null) {
|
||||||
|
if (!line.trim().isEmpty()) {
|
||||||
|
String[] data = line.split(",");
|
||||||
|
if (data.length >= 2) {
|
||||||
|
stockItems.add(data);
|
||||||
|
tableModel.addRow(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
JOptionPane.showMessageDialog(this, "Fehler beim Laden des Bestands!", "Fehler", JOptionPane.ERROR_MESSAGE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateStock(String productName, int quantityUsed) {
|
||||||
|
for (String[] item : stockItems) {
|
||||||
|
if (item[0].equalsIgnoreCase(productName)) {
|
||||||
|
int currentQuantity = Integer.parseInt(item[1]);
|
||||||
|
item[1] = String.valueOf(currentQuantity - quantityUsed);
|
||||||
|
saveStock();
|
||||||
|
loadStock();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
JOptionPane.showMessageDialog(this, "Produkt nicht gefunden: " + productName, "Fehler", JOptionPane.WARNING_MESSAGE);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void saveStock() {
|
||||||
|
try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath))) {
|
||||||
|
for (String[] item : stockItems) {
|
||||||
|
writer.write(String.join(",", item));
|
||||||
|
writer.newLine();
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
JOptionPane.showMessageDialog(this, "Fehler beim Speichern des Bestands!", "Fehler", JOptionPane.ERROR_MESSAGE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,57 @@
|
||||||
|
package userinterface;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import javax.swing.table.DefaultTableModel;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.io.*;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class MainMenu {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
JFrame frame = new JFrame("Restaurantverwaltungssystem");
|
||||||
|
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
|
frame.setSize(800, 600);
|
||||||
|
frame.setLayout(new BorderLayout());
|
||||||
|
|
||||||
|
JLabel headerLabel = new JLabel("Restaurantverwaltungssystem", SwingConstants.CENTER);
|
||||||
|
headerLabel.setFont(new Font("Arial", Font.BOLD, 30));
|
||||||
|
frame.add(headerLabel, BorderLayout.NORTH);
|
||||||
|
|
||||||
|
JPanel mainPanel = new JPanel();
|
||||||
|
mainPanel.setLayout(new GridLayout(2, 3, 20, 20));
|
||||||
|
|
||||||
|
JButton reservierungenButton = new JButton("Reservierungen verwalten");
|
||||||
|
JButton lagerButton = new JButton("Lagerbestand verwalten");
|
||||||
|
JButton bestellungenButton = new JButton("Bestellungen verwalten");
|
||||||
|
JButton personalButton = new JButton("Personal verwalten");
|
||||||
|
JButton finanzenButton = new JButton("Finanzen verwalten");
|
||||||
|
JButton beendenButton = new JButton("Beenden");
|
||||||
|
|
||||||
|
mainPanel.add(reservierungenButton);
|
||||||
|
mainPanel.add(lagerButton);
|
||||||
|
mainPanel.add(bestellungenButton);
|
||||||
|
mainPanel.add(personalButton);
|
||||||
|
mainPanel.add(finanzenButton);
|
||||||
|
mainPanel.add(beendenButton);
|
||||||
|
|
||||||
|
frame.add(mainPanel, BorderLayout.CENTER);
|
||||||
|
|
||||||
|
reservierungenButton.addActionListener(e -> switchPanel(frame, mainPanel, new ReservationPanel(frame, mainPanel)));
|
||||||
|
lagerButton.addActionListener(e -> switchPanel(frame, mainPanel, new InventoryPanel(frame, mainPanel)));
|
||||||
|
bestellungenButton.addActionListener(e -> switchPanel(frame, mainPanel, new OrdersPanel(frame, mainPanel)));
|
||||||
|
personalButton.addActionListener(e -> JOptionPane.showMessageDialog(frame, "Personal verwalten: Noch nicht implementiert."));
|
||||||
|
finanzenButton.addActionListener(e -> JOptionPane.showMessageDialog(frame, "Finanzen verwalten: Noch nicht implementiert."));
|
||||||
|
beendenButton.addActionListener(e -> System.exit(0));
|
||||||
|
|
||||||
|
frame.setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void switchPanel(JFrame frame, JPanel mainPanel, JPanel newPanel) {
|
||||||
|
frame.getContentPane().removeAll();
|
||||||
|
frame.add(newPanel, BorderLayout.CENTER);
|
||||||
|
frame.revalidate();
|
||||||
|
frame.repaint();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,153 @@
|
||||||
|
package userinterface;
|
||||||
|
import javax.swing.*;
|
||||||
|
import javax.swing.table.DefaultTableModel;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.io.*;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class OrdersPanel extends JPanel {
|
||||||
|
private DefaultTableModel tableModel;
|
||||||
|
private JTable table;
|
||||||
|
private List<String[]> orders;
|
||||||
|
private final String filePath = "src/Bestellungen.txt";
|
||||||
|
|
||||||
|
public OrdersPanel(JFrame frame, JPanel mainPanel) {
|
||||||
|
this.setLayout(new BorderLayout());
|
||||||
|
JLabel label = new JLabel("Bestellungen verwalten", SwingConstants.CENTER);
|
||||||
|
label.setFont(new Font("Arial", Font.BOLD, 24));
|
||||||
|
this.add(label, BorderLayout.NORTH);
|
||||||
|
|
||||||
|
// Tabelle vorbereiten
|
||||||
|
String[] columns = {"Bestell-ID", "Kunde", "Artikel", "Menge"};
|
||||||
|
tableModel = new DefaultTableModel(columns, 0);
|
||||||
|
table = new JTable(tableModel);
|
||||||
|
loadOrders();
|
||||||
|
JScrollPane scrollPane = new JScrollPane(table);
|
||||||
|
this.add(scrollPane, BorderLayout.CENTER);
|
||||||
|
|
||||||
|
// Steuerpanel unten
|
||||||
|
JPanel controlPanel = new JPanel();
|
||||||
|
JButton addButton = new JButton("Hinzufügen");
|
||||||
|
JButton editButton = new JButton("Bearbeiten");
|
||||||
|
JButton deleteButton = new JButton("Löschen");
|
||||||
|
JButton backButton = new JButton("Zurück");
|
||||||
|
controlPanel.add(addButton);
|
||||||
|
controlPanel.add(editButton);
|
||||||
|
controlPanel.add(deleteButton);
|
||||||
|
controlPanel.add(backButton);
|
||||||
|
this.add(controlPanel, BorderLayout.SOUTH);
|
||||||
|
|
||||||
|
// ActionListener für Buttons
|
||||||
|
addButton.addActionListener(e -> addOrder());
|
||||||
|
editButton.addActionListener(e -> editOrder());
|
||||||
|
deleteButton.addActionListener(e -> deleteOrder());
|
||||||
|
backButton.addActionListener(e -> switchPanel(frame, mainPanel));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void switchPanel(JFrame frame, JPanel mainPanel) {
|
||||||
|
frame.getContentPane().removeAll();
|
||||||
|
frame.add(mainPanel, BorderLayout.CENTER);
|
||||||
|
frame.revalidate();
|
||||||
|
frame.repaint();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void loadOrders() {
|
||||||
|
orders = new ArrayList<>();
|
||||||
|
tableModel.setRowCount(0);
|
||||||
|
try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
|
||||||
|
String line;
|
||||||
|
while ((line = reader.readLine()) != null) {
|
||||||
|
if (!line.trim().isEmpty()) {
|
||||||
|
String[] data = line.split(",");
|
||||||
|
if (data.length >= 4) {
|
||||||
|
orders.add(data);
|
||||||
|
tableModel.addRow(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
JOptionPane.showMessageDialog(this, "Fehler beim Laden der Bestellungen!", "Fehler", JOptionPane.ERROR_MESSAGE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void saveOrders() {
|
||||||
|
try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath))) {
|
||||||
|
for (String[] order : orders) {
|
||||||
|
writer.write(String.join(",", order));
|
||||||
|
writer.newLine();
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
JOptionPane.showMessageDialog(this, "Fehler beim Speichern der Bestellungen!", "Fehler", JOptionPane.ERROR_MESSAGE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addOrder() {
|
||||||
|
JTextField idField = new JTextField();
|
||||||
|
JTextField customerField = new JTextField();
|
||||||
|
JTextField itemField = new JTextField();
|
||||||
|
JTextField quantityField = new JTextField();
|
||||||
|
|
||||||
|
Object[] fields = {
|
||||||
|
"Bestell-ID:", idField,
|
||||||
|
"Kunde:", customerField,
|
||||||
|
"Artikel:", itemField,
|
||||||
|
"Menge:", quantityField
|
||||||
|
};
|
||||||
|
|
||||||
|
int option = JOptionPane.showConfirmDialog(this, fields, "Bestellung hinzufügen", JOptionPane.OK_CANCEL_OPTION);
|
||||||
|
if (option == JOptionPane.OK_OPTION) {
|
||||||
|
String[] order = {idField.getText(), customerField.getText(), itemField.getText(), quantityField.getText()};
|
||||||
|
orders.add(order);
|
||||||
|
tableModel.addRow(order);
|
||||||
|
saveOrders();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void editOrder() {
|
||||||
|
int selectedRow = table.getSelectedRow();
|
||||||
|
if (selectedRow == -1) {
|
||||||
|
JOptionPane.showMessageDialog(this, "Bitte wählen Sie eine Bestellung aus!", "Warnung", JOptionPane.WARNING_MESSAGE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
String[] order = orders.get(selectedRow);
|
||||||
|
|
||||||
|
JTextField idField = new JTextField(order[0]);
|
||||||
|
JTextField customerField = new JTextField(order[1]);
|
||||||
|
JTextField itemField = new JTextField(order[2]);
|
||||||
|
JTextField quantityField = new JTextField(order[3]);
|
||||||
|
|
||||||
|
Object[] fields = {
|
||||||
|
"Bestell-ID:", idField,
|
||||||
|
"Kunde:", customerField,
|
||||||
|
"Artikel:", itemField,
|
||||||
|
"Menge:", quantityField
|
||||||
|
};
|
||||||
|
|
||||||
|
int option = JOptionPane.showConfirmDialog(this, fields, "Bestellung bearbeiten", JOptionPane.OK_CANCEL_OPTION);
|
||||||
|
if (option == JOptionPane.OK_OPTION) {
|
||||||
|
String[] updatedOrder = {idField.getText(), customerField.getText(), itemField.getText(), quantityField.getText()};
|
||||||
|
orders.set(selectedRow, updatedOrder);
|
||||||
|
tableModel.removeRow(selectedRow);
|
||||||
|
tableModel.insertRow(selectedRow, updatedOrder);
|
||||||
|
saveOrders();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void deleteOrder() {
|
||||||
|
int selectedRow = table.getSelectedRow();
|
||||||
|
if (selectedRow == -1) {
|
||||||
|
JOptionPane.showMessageDialog(this, "Bitte wählen Sie eine Bestellung aus!", "Warnung", JOptionPane.WARNING_MESSAGE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int option = JOptionPane.showConfirmDialog(this, "Möchten Sie diese Bestellung wirklich löschen?", "Bestätigung", JOptionPane.YES_NO_OPTION);
|
||||||
|
if (option == JOptionPane.YES_OPTION) {
|
||||||
|
orders.remove(selectedRow);
|
||||||
|
tableModel.removeRow(selectedRow);
|
||||||
|
saveOrders();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,153 @@
|
||||||
|
package userinterface;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import javax.swing.table.DefaultTableModel;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.io.*;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class ReservationPanel extends JPanel {
|
||||||
|
private DefaultTableModel tableModel;
|
||||||
|
private JTable table;
|
||||||
|
private List<String[]> reservations;
|
||||||
|
private final String filePath = "src/Reservations.txt";
|
||||||
|
|
||||||
|
public ReservationPanel(JFrame frame, JPanel mainPanel) {
|
||||||
|
this.setLayout(new BorderLayout());
|
||||||
|
JLabel label = new JLabel("Reservierungen verwalten", SwingConstants.CENTER);
|
||||||
|
label.setFont(new Font("Arial", Font.BOLD, 24));
|
||||||
|
this.add(label, BorderLayout.NORTH);
|
||||||
|
|
||||||
|
// Tabelle vorbereiten
|
||||||
|
String[] columns = {"Name", "Datum", "Zeit", "Personen"};
|
||||||
|
tableModel = new DefaultTableModel(columns, 0);
|
||||||
|
table = new JTable(tableModel);
|
||||||
|
loadReservations();
|
||||||
|
JScrollPane scrollPane = new JScrollPane(table);
|
||||||
|
this.add(scrollPane, BorderLayout.CENTER);
|
||||||
|
|
||||||
|
// Steuerpanel unten
|
||||||
|
JPanel controlPanel = new JPanel();
|
||||||
|
JButton addButton = new JButton("Hinzufügen");
|
||||||
|
JButton editButton = new JButton("Bearbeiten");
|
||||||
|
JButton deleteButton = new JButton("Stornieren");
|
||||||
|
JButton backButton = new JButton("Zurück");
|
||||||
|
controlPanel.add(addButton);
|
||||||
|
controlPanel.add(editButton);
|
||||||
|
controlPanel.add(deleteButton);
|
||||||
|
controlPanel.add(backButton);
|
||||||
|
this.add(controlPanel, BorderLayout.SOUTH);
|
||||||
|
|
||||||
|
// ActionListener für Buttons
|
||||||
|
addButton.addActionListener(e -> addReservation());
|
||||||
|
editButton.addActionListener(e -> editReservation());
|
||||||
|
deleteButton.addActionListener(e -> deleteReservation());
|
||||||
|
backButton.addActionListener(e -> switchPanel(frame, mainPanel));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void switchPanel(JFrame frame, JPanel mainPanel) {
|
||||||
|
frame.getContentPane().removeAll();
|
||||||
|
frame.add(mainPanel, BorderLayout.CENTER);
|
||||||
|
frame.revalidate();
|
||||||
|
frame.repaint();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void loadReservations() {
|
||||||
|
reservations = new ArrayList<>();
|
||||||
|
tableModel.setRowCount(0);
|
||||||
|
try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
|
||||||
|
String line;
|
||||||
|
while ((line = reader.readLine()) != null) {
|
||||||
|
if (!line.trim().isEmpty()) {
|
||||||
|
String[] data = line.split(",");
|
||||||
|
if (data.length >= 4) {
|
||||||
|
reservations.add(data);
|
||||||
|
tableModel.addRow(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
JOptionPane.showMessageDialog(this, "Fehler beim Laden der Reservierungen!", "Fehler", JOptionPane.ERROR_MESSAGE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void saveReservations() {
|
||||||
|
try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath))) {
|
||||||
|
for (String[] reservation : reservations) {
|
||||||
|
writer.write(String.join(",", reservation));
|
||||||
|
writer.newLine();
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
JOptionPane.showMessageDialog(this, "Fehler beim Speichern der Reservierungen!", "Fehler", JOptionPane.ERROR_MESSAGE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addReservation() {
|
||||||
|
JTextField nameField = new JTextField();
|
||||||
|
JTextField dateField = new JTextField();
|
||||||
|
JTextField timeField = new JTextField();
|
||||||
|
JTextField peopleField = new JTextField();
|
||||||
|
|
||||||
|
Object[] fields = {
|
||||||
|
"Name:", nameField,
|
||||||
|
"Datum (YYYY-MM-DD):", dateField,
|
||||||
|
"Zeit (HH:MM):", timeField,
|
||||||
|
"Personen:", peopleField
|
||||||
|
};
|
||||||
|
|
||||||
|
int option = JOptionPane.showConfirmDialog(this, fields, "Reservierung hinzufügen", JOptionPane.OK_CANCEL_OPTION);
|
||||||
|
if (option == JOptionPane.OK_OPTION) {
|
||||||
|
String[] reservation = {nameField.getText(), dateField.getText(), timeField.getText(), peopleField.getText()};
|
||||||
|
reservations.add(reservation);
|
||||||
|
tableModel.addRow(reservation);
|
||||||
|
saveReservations();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void editReservation() {
|
||||||
|
int selectedRow = table.getSelectedRow();
|
||||||
|
if (selectedRow == -1) {
|
||||||
|
JOptionPane.showMessageDialog(this, "Bitte wählen Sie eine Reservierung aus!", "Warnung", JOptionPane.WARNING_MESSAGE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
String[] reservation = reservations.get(selectedRow);
|
||||||
|
|
||||||
|
JTextField nameField = new JTextField(reservation[0]);
|
||||||
|
JTextField dateField = new JTextField(reservation[1]);
|
||||||
|
JTextField timeField = new JTextField(reservation[2]);
|
||||||
|
JTextField peopleField = new JTextField(reservation[3]);
|
||||||
|
|
||||||
|
Object[] fields = {
|
||||||
|
"Name:", nameField,
|
||||||
|
"Datum (YYYY-MM-DD):", dateField,
|
||||||
|
"Zeit (HH:MM):", timeField,
|
||||||
|
"Personen:", peopleField
|
||||||
|
};
|
||||||
|
|
||||||
|
int option = JOptionPane.showConfirmDialog(this, fields, "Reservierung bearbeiten", JOptionPane.OK_CANCEL_OPTION);
|
||||||
|
if (option == JOptionPane.OK_OPTION) {
|
||||||
|
String[] updatedReservation = {nameField.getText(), dateField.getText(), timeField.getText(), peopleField.getText()};
|
||||||
|
reservations.set(selectedRow, updatedReservation);
|
||||||
|
tableModel.removeRow(selectedRow);
|
||||||
|
tableModel.insertRow(selectedRow, updatedReservation);
|
||||||
|
saveReservations();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void deleteReservation() {
|
||||||
|
int selectedRow = table.getSelectedRow();
|
||||||
|
if (selectedRow == -1) {
|
||||||
|
JOptionPane.showMessageDialog(this, "Bitte wählen Sie eine Reservierung aus!", "Warnung", JOptionPane.WARNING_MESSAGE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int option = JOptionPane.showConfirmDialog(this, "Möchten Sie diese Reservierung wirklich stornieren?", "Bestätigung", JOptionPane.YES_NO_OPTION);
|
||||||
|
if (option == JOptionPane.YES_OPTION) {
|
||||||
|
reservations.remove(selectedRow);
|
||||||
|
tableModel.removeRow(selectedRow);
|
||||||
|
saveReservations();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
Dimitry:1234:MANAGER
|
Dimitry:MANAGER:1234
|
||||||
Abbas:1234:MANAGER
|
Abbas:MANAGER:1234
|
||||||
Ananas Kopf:Bananenbieger:KITCHEN
|
Ananas Kopf:KITCHEN:1234
|
||||||
Arim:1234:MANAGER
|
Arim:MANAGER:1234
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue