From 9d72491ed822585773b4293c08176ce052ee2ce2 Mon Sep 17 00:00:00 2001 From: Berat Date: Fri, 8 Nov 2024 19:51:20 +0100 Subject: [PATCH] made changes to benutzer, bibliothek and added gui main method --- PR2Bib/src/domainBib/Benutzer.java | 12 ++- PR2Bib/src/domainBib/BibEntries.java | 12 --- PR2Bib/src/domainBib/Bibliothek.java | 83 +++++++++++++++++++- PR2Bib/src/guiBib/BibliothekGUI.java | 111 ++++++++++++++++++++++++++- 4 files changed, 201 insertions(+), 17 deletions(-) diff --git a/PR2Bib/src/domainBib/Benutzer.java b/PR2Bib/src/domainBib/Benutzer.java index a869b57..5f70cf3 100644 --- a/PR2Bib/src/domainBib/Benutzer.java +++ b/PR2Bib/src/domainBib/Benutzer.java @@ -2,8 +2,10 @@ package domainBib; import java.util.ArrayList; -abstract class Benutzer { +public abstract class Benutzer { private int kennnummer; + abstract public int getKennnummer(); + abstract boolean istStudent(); } class Kunde extends Benutzer { @@ -24,6 +26,10 @@ class Kunde extends Benutzer { ausgelieheneMedien.add(m); } + public boolean istStudent() { + return istStudent; + } + public ArrayList returnAusgeliehen(){ return ausgelieheneMedien; } @@ -39,4 +45,8 @@ class Mitarbeiter extends Benutzer { public int getKennnummer() { return kennnummer; } + + public boolean istStudent() { + return false; + } } \ No newline at end of file diff --git a/PR2Bib/src/domainBib/BibEntries.java b/PR2Bib/src/domainBib/BibEntries.java index c1afb0d..7c8c3c9 100644 --- a/PR2Bib/src/domainBib/BibEntries.java +++ b/PR2Bib/src/domainBib/BibEntries.java @@ -4,13 +4,6 @@ import java.util.ArrayList; public class BibEntries { public static void start() { - ArrayList bücherListe = new ArrayList<>(); - ArrayList cdListe = new ArrayList<>(); - ArrayList dvdListe = new ArrayList<>(); - ArrayList brettspielListe = new ArrayList<>(); - ArrayList videospielListe = new ArrayList<>(); - ArrayList benutzerListe = new ArrayList<>(); - Buch b1 = new Buch("Buch1", 2000, "Autor1", "01.01.2020", 10001); Buch b2 = new Buch("Buch2", 2000, "Autor2", "01.01.2020", 10002); Buch b3 = new Buch("Buch3", 2000, "Autor3", "01.01.2020", 10003); @@ -77,10 +70,5 @@ public class BibEntries { benutzerListe.add(bn4); benutzerListe.add(bn5); - - - - - } } diff --git a/PR2Bib/src/domainBib/Bibliothek.java b/PR2Bib/src/domainBib/Bibliothek.java index 0431739..7e72aba 100644 --- a/PR2Bib/src/domainBib/Bibliothek.java +++ b/PR2Bib/src/domainBib/Bibliothek.java @@ -4,9 +4,88 @@ import java.util.ArrayList; import guiBib.*; public class Bibliothek { - private static void main(String[] args) { - BibEntries.start(); + static ArrayList bücherListe = new ArrayList<>(); + static ArrayList cdListe = new ArrayList<>(); + static ArrayList dvdListe = new ArrayList<>(); + static ArrayList brettspielListe = new ArrayList<>(); + static ArrayList videospielListe = new ArrayList<>(); + static ArrayList benutzerListe = new ArrayList<>(); + public static void makeEntries() { + Buch b1 = new Buch("Buch1", 2000, "Autor1", "01.01.2020", 10001); + Buch b2 = new Buch("Buch2", 2000, "Autor2", "01.01.2020", 10002); + Buch b3 = new Buch("Buch3", 2000, "Autor3", "01.01.2020", 10003); + Buch b4 = new Buch("Buch4", 2000, "Autor4", "01.01.2020", 10004); + Buch b5 = new Buch("Buch5", 2000, "Autor5", "01.01.2020", 10005); + bücherListe.add(b1); + bücherListe.add(b2); + bücherListe.add(b3); + bücherListe.add(b4); + bücherListe.add(b5); + + CD c1 = new CD("CD1", 2000, "01.01.2020", 20001); + CD c2 = new CD("CD2", 2000, "01.01.2020", 20002); + CD c3 = new CD("CD3", 2000, "01.01.2020", 20003); + CD c4 = new CD("CD4", 2000, "01.01.2020", 20004); + CD c5 = new CD("CD5", 2000, "01.01.2020", 20005); + cdListe.add(c1); + cdListe.add(c2); + cdListe.add(c3); + cdListe.add(c4); + cdListe.add(c5); + + DVD d1 = new DVD("DVD1", 2000, "01.01.2020", 30001); + DVD d2 = new DVD("DVD2", 2000, "01.01.2020", 30002); + DVD d3 = new DVD("DVD3", 2000, "01.01.2020", 30003); + DVD d4 = new DVD("DVD4", 2000, "01.01.2020", 30004); + DVD d5 = new DVD("DVD5", 2000, "01.01.2020", 30005); + dvdListe.add(d1); + dvdListe.add(d2); + dvdListe.add(d3); + dvdListe.add(d4); + dvdListe.add(d5); + + Brettspiel bs1 = new Brettspiel("Brettspiel1", 2000, "01.01.2020", 40001); + Brettspiel bs2 = new Brettspiel("Brettspiel2", 2000, "01.01.2020", 40002); + Brettspiel bs3 = new Brettspiel("Brettspiel3", 2000, "01.01.2020", 40003); + Brettspiel bs4 = new Brettspiel("Brettspiel4", 2000, "01.01.2020", 40004); + Brettspiel bs5 = new Brettspiel("Brettspiel5", 2000, "01.01.2020", 40005); + brettspielListe.add(bs1); + brettspielListe.add(bs2); + brettspielListe.add(bs3); + brettspielListe.add(bs4); + brettspielListe.add(bs5); + + Videospiel v1 = new Videospiel("Videospiel1", 2000, "01.01.2020", 50001); + Videospiel v2 = new Videospiel("Videospiel2", 2000, "01.01.2020", 50002); + Videospiel v3 = new Videospiel("Videospiel3", 2000, "01.01.2020", 50003); + Videospiel v4 = new Videospiel("Videospiel4", 2000, "01.01.2020", 50004); + Videospiel v5 = new Videospiel("Videospiel5", 2000, "01.01.2020", 50005); + videospielListe.add(v1); + videospielListe.add(v2); + videospielListe.add(v3); + videospielListe.add(v4); + videospielListe.add(v5); + + Benutzer bn1 = new Mitarbeiter(1); + Benutzer bn2 = new Kunde(true, 2); + Benutzer bn3 = new Kunde(true, 3); + Benutzer bn4 = new Kunde(false, 4); + Benutzer bn5 = new Kunde(false, 5); + benutzerListe.add(bn1); + benutzerListe.add(bn2); + benutzerListe.add(bn3); + benutzerListe.add(bn4); + benutzerListe.add(bn5); + + } + public static Benutzer validateLogin(int login) { + for(Benutzer b: benutzerListe) { + if(b.getKennnummer() == login) { + return b; + } + } + return null; } } diff --git a/PR2Bib/src/guiBib/BibliothekGUI.java b/PR2Bib/src/guiBib/BibliothekGUI.java index 96398e1..afec403 100644 --- a/PR2Bib/src/guiBib/BibliothekGUI.java +++ b/PR2Bib/src/guiBib/BibliothekGUI.java @@ -2,9 +2,116 @@ package guiBib; import domainBib.*; import javax.swing.*; import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; -public class BibliothekGUI { - public static void main(String[] args) { +public class BibliothekGUI extends JFrame implements ActionListener{ + private static CardLayout cl = new CardLayout(); + private static JPanel mainPanel = new JPanel(cl); + + public static void main(String[] args) { + SwingUtilities.invokeLater(BibliothekGUI::new); + } + + + public BibliothekGUI() { + Bibliothek.makeEntries(); + JPanel loginPanel = new JPanel(new BorderLayout()); + JLabel text1 = new JLabel("Login mit Kennnummer:"); + loginPanel.add(text1, BorderLayout.NORTH); + JTextField field1 = new JTextField(20); + loginPanel.add(field1, BorderLayout.CENTER); + JPanel bp = new JPanel(new GridLayout(1,2,10,10)); + JButton b1 = new JButton("Abbrechen"); + b1.addActionListener(e -> dispose()); + JButton b2 = new JButton("OK"); + b2.addActionListener(e -> { + String loginStr = field1.getText(); + Integer login = Integer.parseInt(loginStr); + Benutzer b = Bibliothek.validateLogin(login); + if(b == null) {dispose();} + String text = b.getClass().toString(); + int lastDotIndex = text.lastIndexOf("."); + String substring = text.substring(lastDotIndex + 1); + if(substring.equals("Kunde")) {openMainMenu(b);} + if(substring.equals("Mitarbeiter")) {openAdmin();} + }); + bp.add(b1); + bp.add(b2); + loginPanel.add(bp, BorderLayout.SOUTH); + mainPanel.add(loginPanel, "loginPanel"); + cl.show(mainPanel, "loginPanel"); + add(mainPanel); + setVisible(true); + setSize(600, 600); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + } + + public static void openAdmin() { } + + + + + public static void openMainMenu(Benutzer b) { + JPanel mediumPanel = new JPanel(new GridLayout(8, 1, 10, 10)); + JTextField text1 = new JTextField("Nutzer: " + b.getKennnummer()); + mediumPanel.add(text1); + JButton b1 = new JButton("Bücher"); + b1.addActionListener(e -> bookMenu()); + JButton b2 = new JButton("DVDs"); + b2.addActionListener(e -> dvdMenu()); + JButton b3 = new JButton("CDs"); + b3.addActionListener(e -> cdMenu()); + JButton b4 = new JButton("Brettspiele"); + b4.addActionListener(e -> bsMenu()); + JButton b5 = new JButton("Videospiele"); + b5.addActionListener(e -> vsMenu()); + JButton b6 = new JButton("Meine Bücher"); + b6.addActionListener(e -> myBooks(b)); + JButton b7 = new JButton("Ausloggen"); + b7.addActionListener(e -> cl.show(mainPanel, "LoginPanel")); + mediumPanel.add(b1); + mediumPanel.add(b2); + mediumPanel.add(b3); + mediumPanel.add(b4); + mediumPanel.add(b5); + mediumPanel.add(b6); + mediumPanel.add(b7); + + mainPanel.add(mediumPanel, "MediumPanel"); + cl.show(mainPanel, "MediumPanel"); + } + + private static void bookMenu() { + // TODO Auto-generated method stub + } + + private static void dvdMenu() { + // TODO Auto-generated method stub + } + + private static void cdMenu() { + // TODO Auto-generated method stub + } + + private static void bsMenu() { + // TODO Auto-generated method stub + } + + private static void vsMenu() { + // TODO Auto-generated method stub + } + + private static void myBooks(Benutzer b) { + + } + + + @Override + public void actionPerformed(ActionEvent e) { + } + + }