From 36d06efb2f2fe33433fefdf4342fbaa4865da889 Mon Sep 17 00:00:00 2001 From: 3010293 <3010293@stud.hs-mannheim.de> Date: Sun, 10 Nov 2024 18:16:14 +0100 Subject: [PATCH] added pay debts feature --- PR2Bib/src/domainBib/Bibliothek.java | 1 - PR2Bib/src/domainBib/Medium.java | 1 - PR2Bib/src/guiBib/BibliothekGUI.java | 54 ++++++++++++++++++++++++---- 3 files changed, 48 insertions(+), 8 deletions(-) diff --git a/PR2Bib/src/domainBib/Bibliothek.java b/PR2Bib/src/domainBib/Bibliothek.java index 1f70bbc..1a685c4 100644 --- a/PR2Bib/src/domainBib/Bibliothek.java +++ b/PR2Bib/src/domainBib/Bibliothek.java @@ -7,7 +7,6 @@ import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.util.ArrayList; import javax.swing.JLabel; - import guiBib.*; public class Bibliothek { diff --git a/PR2Bib/src/domainBib/Medium.java b/PR2Bib/src/domainBib/Medium.java index 9e9386f..72b7f8e 100644 --- a/PR2Bib/src/domainBib/Medium.java +++ b/PR2Bib/src/domainBib/Medium.java @@ -18,7 +18,6 @@ abstract class Medium { } } - class Buch extends Medium{ private String titel; private int erscheinungsjahr; diff --git a/PR2Bib/src/guiBib/BibliothekGUI.java b/PR2Bib/src/guiBib/BibliothekGUI.java index f043dce..e1fc3ee 100644 --- a/PR2Bib/src/guiBib/BibliothekGUI.java +++ b/PR2Bib/src/guiBib/BibliothekGUI.java @@ -48,7 +48,7 @@ public class BibliothekGUI extends JFrame implements ActionListener{ cl.show(mainPanel, "loginPanel"); } - public static void openAdmin() { + private static void openAdmin() { JPanel adminPanel = new JPanel(new BorderLayout()); JPanel adminGrid = new JPanel(new GridLayout(2, 1, 10, 10)); JLabel text1 = new JLabel("Admin-Bildschirm"); @@ -85,8 +85,8 @@ public class BibliothekGUI extends JFrame implements ActionListener{ } - public static void openMainMenu(Kunde k) { - JPanel mediumPanel = new JPanel(new GridLayout(10, 1, 10, 10)); + private static void openMainMenu(Kunde k) { + JPanel mediumPanel = new JPanel(new GridLayout(11, 1, 10, 10)); JLabel text1 = new JLabel("Ihre Kennnnummer: " + k.getKennnummer()); mediumPanel.add(text1); JButton b1 = new JButton("Bücher"); @@ -105,8 +105,10 @@ public class BibliothekGUI extends JFrame implements ActionListener{ b7.addActionListener(e -> rückgabeMenü(k)); JButton b8 = new JButton("Meine Ausgeliehenen Medien"); b8.addActionListener(e -> myBooks(k)); - JButton b9 = new JButton("Ausloggen"); - b9.addActionListener(e -> cl.show(mainPanel, "loginPanel")); + JButton b9 = new JButton("Meine Schulden abbezahlen"); + b9.addActionListener(e -> schuldenBegleichen(k)); + JButton b10 = new JButton("Ausloggen"); + b10.addActionListener(e -> cl.show(mainPanel, "loginPanel")); mediumPanel.add(b1); mediumPanel.add(b2); mediumPanel.add(b3); @@ -116,9 +118,48 @@ public class BibliothekGUI extends JFrame implements ActionListener{ mediumPanel.add(b7); mediumPanel.add(b8); mediumPanel.add(b9); + mediumPanel.add(b10); mainPanel.add(mediumPanel, "mediumPanel"); cl.show(mainPanel, "mediumPanel"); } + + + private static void schuldenBegleichen(Kunde k) { + JPanel schuldenMenü = new JPanel(new BorderLayout()); + double schulden = k.getSchulden(); + if(schulden > 0) { + JLabel text0 = new JLabel("Sie haben " + schulden + "€ Schulden. Geben Sie unten ein, wie viel Sie zahlen möchten."); + JTextField inputField1 = new JTextField(20); + JButton b1 = new JButton("OK"); + schuldenMenü.add(text0, BorderLayout.NORTH); + schuldenMenü.add(inputField1, BorderLayout.CENTER); + JPanel buttonGrid = new JPanel(new GridLayout(1,2,10,10)); + JButton b2 = new JButton("Abbrechen"); + b2.addActionListener(e -> cl.show(mainPanel, "mediumPanel")); + buttonGrid.add(b2); + buttonGrid.add(b1); + schuldenMenü.add(buttonGrid, BorderLayout.SOUTH); + b1.addActionListener(e -> { + int einzahlung = Integer.parseInt(inputField1.getText()); + double newSchulden = schulden - einzahlung; + System.out.println("neue Schulden: "+ newSchulden); + k.setSchulden(newSchulden); + cl.show(mainPanel, "mediumPanel"); + }); + } else if(schulden <= 0){ + JLabel text0 = new JLabel("Sie haben keine Schulden."); + JLabel text1 = new JLabel("Ihr Guthaben beträgt " + schulden*(-1) + "€."); + JButton b1 = new JButton("OK"); + schuldenMenü.add(text0, BorderLayout.NORTH); + schuldenMenü.add(text1, BorderLayout.CENTER); + schuldenMenü.add(b1, BorderLayout.SOUTH); + b1.addActionListener(e -> { + cl.show(mainPanel, "mediumPanel"); + }); + } + mainPanel.add(schuldenMenü, "Schulden"); + cl.show(mainPanel, "Schulden"); + } private static void ausleihenMenü(Kunde k) { JPanel ausleihMenü = new JPanel(new BorderLayout()); @@ -312,7 +353,8 @@ public class BibliothekGUI extends JFrame implements ActionListener{ zahlungStatusPanel.add(b2, BorderLayout.SOUTH); if(zahlungErfolgreich == true) { JLabel text4 = new JLabel("Zahlung war erfolgreich!"); - zahlungStatusPanel.add(text4, BorderLayout.CENTER); + zahlungStatusPanel.add(text4, BorderLayout.CENTER); + k.setSchulden(kosten - zahlung); } else { k.setSchulden(kosten - zahlung); double schulden = k.getSchulden();