Created more guis

groundwork
Marc3308 2024-11-19 09:03:02 +01:00
parent 63b94b219f
commit 0eadf43183
8 changed files with 251 additions and 8 deletions

View File

@ -1,13 +1,22 @@
package org.example; package org.example;
import org.example.framework.framecreater; import org.example.framework.framecreater;
import org.example.objekts.Bibiliotek;
import org.example.objekts.kunden;
import static org.example.objekts.Bibiliotek.addshit; import static org.example.objekts.Bibiliotek.addshit;
import static org.example.objekts.Bibiliotek.kundenliste;
public class Main { public class Main {
public static void main(String[] args) { public static void main(String[] args) {
//add the medien //add the medien
//admin
kundenliste.add(new kunden(false,0));
addshit(); addshit();
Bibiliotek.setAngemeldeterbenuter(-1);
Bibiliotek.setFilter("Kein Filter");
framecreater.Startframe(); framecreater.Startframe();
} }

View File

@ -1,15 +1,17 @@
package org.example.framework; package org.example.framework;
import org.example.objekts.Bibiliotek; import org.example.objekts.Bibiliotek;
import org.example.objekts.Medien;
import org.example.objekts.kunden;
import javax.swing.*; import javax.swing.*;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.time.DateTimeException; import java.time.DateTimeException;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.Date; import java.util.ArrayList;
import static java.lang.Thread.sleep; import static org.example.objekts.Bibiliotek.*;
public class framecreater implements ActionListener { public class framecreater implements ActionListener {
@ -19,15 +21,24 @@ public class framecreater implements ActionListener {
//frame //frame
JFrame frame=new JFrame("Bibiliotek"); JFrame frame=new JFrame("Bibiliotek");
JPanel panel=new JPanel(); JPanel panel=new JPanel();
frame.setSize(700,700); frame.setSize(700,900);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true); frame.setVisible(true);
frame.add(panel); frame.add(panel);
panel.setLayout(null); panel.setLayout(null);
//anmelde button --> Chanche later if user is angemeldet //anmelde button --> Chanche later if user is angemeldet
JButton anemelden=new JButton("Anmelden"); JButton anemelden=new JButton(Bibiliotek.getAngemeldeterbenuter()<0 ? "Anmelden" : "Profiel");
anemelden.setBounds(600,10,80,25); anemelden.setBounds(600,10,90,25);
anemelden.addActionListener(e -> {
frame.dispose();
if(getAngemeldeterbenuter()<0){
anmeldeframe();
} else {
profilframe();
}
});
panel.add(anemelden); panel.add(anemelden);
//date button //date button
@ -44,6 +55,7 @@ public class framecreater implements ActionListener {
filter.setBounds(10,10,80,25); filter.setBounds(10,10,80,25);
filter.addActionListener(e -> { filter.addActionListener(e -> {
frame.dispose(); frame.dispose();
Filterframe();
}); });
panel.add(filter); panel.add(filter);
@ -55,6 +67,40 @@ public class framecreater implements ActionListener {
}); });
panel.add(Sucher); panel.add(Sucher);
//create blocks for the inventory
final int[] counter = {0};
medienliste.forEach(m -> {
if(m.getClass().getName().substring(20).equals(getFilter())){
panel.add(createbutton(m,counter[0],frame));
counter[0]++;
} else if (getFilter().equals("Kein Filter")) {
panel.add(createbutton(m,counter[0],frame));
counter[0]++;
} else if (getFilter().equals("Ausgeliehen") && m.getAusgeliehen()>0) {
panel.add(createbutton(m,counter[0],frame));
counter[0]++;
} else if (getFilter().equals("Verfügbar") && m.getAusgeliehen()<=0) {
panel.add(createbutton(m,counter[0],frame));
counter[0]++;
}
});
}
public static JButton createbutton(Medien m, int counter, JFrame frame){
JButton vorlage=new JButton("<html>"+m.getClass().getName().substring(20)
+"<br>"+m.getTitel()
+"<br>"+m.getBeschreibung()
+"<br>"+m.getVerofentlichung()
+"<br>"+(m.getAusgeliehen()!=0 ? "Ausgeliehen" : "Verfügbar")
+"</html>");
vorlage.setBounds(30+(80*(counter%8)),50+(100*(counter/10)),80,100 );
vorlage.addActionListener(e -> {
frame.dispose();
Startframe();
});
return vorlage;
} }
public static void Zeitframe(){ public static void Zeitframe(){
@ -117,7 +163,153 @@ public class framecreater implements ActionListener {
} }
public static void Filterframe(){ public static void Filterframe(){
//frame
JFrame frame=new JFrame("Filter auswählen");
JPanel panel=new JPanel();
ArrayList<String> filterliste=new ArrayList<>();
filterliste.add("Buch");
filterliste.add("DVD");
filterliste.add("CD");
filterliste.add("Brettspiel");
filterliste.add("Videospiel");
filterliste.add("Ausgeliehen");
filterliste.add("Verfügbar");
filterliste.add("Kein Filter");
frame.setSize(220,filterliste.size()*25+55);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.add(panel);
panel.setLayout(null);
filterliste.forEach(s -> {
//buch button
JButton buch=new JButton(s);
buch.setBounds(10,10+(25*filterliste.indexOf(s)),190,25);
buch.addActionListener(e -> {
frame.dispose();
setFilter(s);
Startframe();
});
panel.add(buch);
});
}
public static void anmeldeframe(){
//frame
JFrame frame=new JFrame("Anmelden");
JPanel panel=new JPanel();
frame.setSize(400,200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.add(panel);
panel.setLayout(null);
//text feld
JLabel text=new JLabel("Bitte gib deine Kundennummer ein:");
text.setBounds(10,70,400,25);
panel.add(text);
//date feld
JTextField jear=new JTextField(20);
jear.setBounds(10,100,100,25);
panel.add(jear);
//succes button
JButton succes=new JButton("Anmelden");
succes.setBounds(90,130,90,25);
succes.addActionListener( e -> {
try {
if(kundenliste.get(Integer.valueOf(jear.getText()))!=null){
setAngemeldeterbenuter(Integer.valueOf(jear.getText()));
frame.dispose();
Startframe();
} else {
text.setText("Falsche Nummer, bitte versuche es erneut");
}
} catch (NumberFormatException ec){
text.setText("Falsche Nummer, bitte versuche es erneut");
} catch (IndexOutOfBoundsException ec){
text.setText("Falsche Nummer, bitte versuche es erneut");
}
});
panel.add(succes);
//regestrieren button
JButton regestrieren=new JButton("Registrieren");
regestrieren.setBounds(180,130,80,25);
regestrieren.addActionListener( e -> {
kundenliste.add(new kunden(false,(kundenliste.size())));
setAngemeldeterbenuter(kundenliste.size()-1);
frame.dispose();
Startframe();
});
panel.add(regestrieren);
//back button
JButton back=new JButton("Zurück");
back.setBounds(10,130,80,25);
back.addActionListener(e -> {
frame.dispose();
Startframe();
});
panel.add(back);
}
public static void profilframe(){
//frame
JFrame frame=new JFrame("Profil");
JPanel panel=new JPanel();
frame.setSize(400,800);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.add(panel);
panel.setLayout(null);
kunden k=kundenliste.get(getAngemeldeterbenuter());
//text feld
JLabel nummer=new JLabel("Kunden Nummer: "+(k.getnummer()));
nummer.setBounds(10,10,200,25);
panel.add(nummer);
//text feld
JLabel schulden=new JLabel("Schulden: "+k.getSchulden());
schulden.setBounds( 10,30,200,25);
panel.add(schulden);
//studentstatus feld
JLabel studentstatus=new JLabel("Student/Schühler: "+( k.isIstStudent()? "Ja" : "Nein"));
studentstatus.setBounds(10,50,200,25);
panel.add(studentstatus);
//studentstatus button
JButton succes=new JButton("Ändern");
succes.setBounds(170,50,80,25);
succes.addActionListener( e -> {
frame.dispose();
k.setIstStudent(!k.isIstStudent());
profilframe();
});
panel.add(succes);
//back button
JButton back=new JButton("Zurück");
back.setBounds(10,725,80,25);
back.addActionListener(e -> {
frame.dispose();
Startframe();
});
panel.add(back);
//back button
JButton abmelden=new JButton("Abmelden");
abmelden.setBounds(90,725,100,25);
abmelden.addActionListener(e -> {
frame.dispose();
setAngemeldeterbenuter(-1);
Startframe();
});
panel.add(abmelden);
} }
@Override @Override

View File

@ -9,6 +9,11 @@ public class Bibiliotek {
public static ArrayList<Medien> medienliste=new ArrayList<>(); public static ArrayList<Medien> medienliste=new ArrayList<>();
public static ArrayList<kunden> kundenliste=new ArrayList<>(); public static ArrayList<kunden> kundenliste=new ArrayList<>();
private static int Angemeldeterbenuter;
private static String Filter;
// Global system date, initialized to the current date // Global system date, initialized to the current date
private static LocalDate datum = LocalDate.now(); private static LocalDate datum = LocalDate.now();
@ -22,9 +27,43 @@ public class Bibiliotek {
datum = newDate; datum = newDate;
} }
public static int getAngemeldeterbenuter() {
return Angemeldeterbenuter;
}
public static void setAngemeldeterbenuter(int angemeldeterbenuter) {
Angemeldeterbenuter = angemeldeterbenuter;
}
public static String getFilter() {
return Filter;
}
public static void setFilter(String filter) {
Filter = filter;
}
public static void addshit(){ public static void addshit(){
medienliste.add(new Buch("Schmi","","",1)); medienliste.add(new Buch("Schmi","","",1));
for (Medien m : medienliste) if(m instanceof Buch) System.out.println(true); medienliste.add(new DVD("Schmi2","","s",1));
medienliste.add(new Buch("Schmi3","","s",1));
medienliste.add(new Buch("Schmi4","","",1));
medienliste.add(new Buch("Schmi5","","",1));
medienliste.add(new Buch("Schmi6","","as",1));
medienliste.add(new Buch("Schmi6","","as",1));
medienliste.add(new Buch("Schmi6","","as",1));
medienliste.add(new DVD("Schmi6","","as",1));
medienliste.add(new Buch("Schmi6","","as",1));
medienliste.add(new Buch("Schmi6","","as",1));
medienliste.add(new Buch("Schmi6","","as",1));
medienliste.add(new Buch("Schmi6","","as",1));
medienliste.add(new Buch("Schmi6","","as",1));
medienliste.add(new Buch("Schmi6","","as",1));
medienliste.add(new Buch("Schmi6","","as",1));
medienliste.add(new DVD("Schmi6","","as",1));
medienliste.add(new Buch("Schmi6","","as",1));
medienliste.add(new Buch("Schmi6","","as",1));
medienliste.add(new Buch("Schmi6","","as",1));
medienliste.add(new Buch("Schmi6","","as",1));
} }
} }

View File

@ -1,6 +1,5 @@
package org.example.objekts; package org.example.objekts;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
@ -41,4 +40,8 @@ public class kunden {
public void setAusgeliehen(HashMap<Medien, Date> ausgeliehen) { public void setAusgeliehen(HashMap<Medien, Date> ausgeliehen) {
this.ausgeliehen = ausgeliehen; this.ausgeliehen = ausgeliehen;
} }
public void setIstStudent(boolean istStudent) {
this.istStudent = istStudent;
}
} }