Compare commits

..

5 Commits
save ... main

4 changed files with 36 additions and 64 deletions

View File

@ -1,25 +0,0 @@
package domainBib;
import java.util.ArrayList;
public abstract class Benutzer {
private int kennnummer;
abstract public int getKennnummer();
abstract public boolean istStudent();
}
class Mitarbeiter extends Benutzer {
private int kennnummer;
public Mitarbeiter(int kennnummer) {
this.kennnummer = kennnummer;
}
public int getKennnummer() {
return kennnummer;
}
public boolean istStudent() {
return false;
}
}

View File

@ -2,7 +2,7 @@ package domainBib;
import java.util.ArrayList; import java.util.ArrayList;
public class Kunde extends Benutzer { public class Kunde {
private int kennnummer; private int kennnummer;
private boolean istStudent; private boolean istStudent;
private double schulden; private double schulden;

View File

@ -13,7 +13,7 @@ public class BibliothekGUI extends JFrame implements ActionListener{
private static JPanel mainPanel = new JPanel(cl); private static JPanel mainPanel = new JPanel(cl);
public static void main(String[] args) { public static void main(String[] args) {
SwingUtilities.invokeLater(BibliothekGUI::new); new BibliothekGUI();
} }
public BibliothekGUI() { public BibliothekGUI() {
@ -344,57 +344,30 @@ public class BibliothekGUI extends JFrame implements ActionListener{
private static void searchMenu(Kunde k) { private static void searchMenu(Kunde k) {
JPanel mainSearch = new JPanel(new BorderLayout()); JPanel mainSearch = new JPanel(new BorderLayout());
//NORTH: Search bar //NORTH: Search bar
JPanel enterSearch = new JPanel(new GridLayout(1,4,10,10)); JPanel enterSearch = new JPanel(new GridLayout(1,3,10,10));
JLabel text0 = new JLabel("Geben Sie einen Suchbegriff ein:"); JLabel text0 = new JLabel("Geben Sie einen Suchbegriff ein:");
JTextField enterSearchTerm = new JTextField(20); JTextField enterSearchTerm = new JTextField(20);
JButton b0 = new JButton("Suchen"); //Hilfe von ChatGPT, da ich nicht wusste wie ich eine Checkbox hinzufüge und abhöre, ob
//sie gedrückt ist oder nicht box0.isSelected();)
JCheckBox box0 = new JCheckBox("Nur ausleihbare Medien anzeigen"); JCheckBox box0 = new JCheckBox("Nur ausleihbare Medien anzeigen");
enterSearch.add(text0); enterSearch.add(text0);
enterSearch.add(enterSearchTerm); enterSearch.add(enterSearchTerm);
enterSearch.add(b0);
enterSearch.add(box0); enterSearch.add(box0);
mainSearch.add(enterSearch, BorderLayout.NORTH); mainSearch.add(enterSearch, BorderLayout.NORTH);
//CENTER: Matched media //CENTER: Matched media
mainSearch.revalidate(); mainSearch.revalidate();
int[] doThis = {0}; int[] doThis = {0};
box0.addActionListener(e -> { box0.addActionListener(e -> {
if(box0.isSelected()) { if(box0.isSelected() == true) {
doThis[0] = 0;
} else {
doThis[0] = 1;
}
});
if(doThis[0] == 0) {
b0.addActionListener(e -> {
String searchTerm = enterSearchTerm.getText().toString();
ArrayList<JLabel> matchedMedia = Bibliothek.findMatchesFiltered(searchTerm);
int i = matchedMedia.size();
if(i == 0) {
JLabel text1 = new JLabel("Nichts passendes zu dem Suchbegriff " + searchTerm + " gefunden.");
mainSearch.revalidate();
mainSearch.add(text1, BorderLayout.CENTER);
mainSearch.revalidate();
} else if (i > 0){
JPanel ergebnisPanel = new JPanel(new GridLayout(i, 1, 10,10));
for(JLabel j: matchedMedia) {
ergebnisPanel.add(j);
}
mainSearch.revalidate();
mainSearch.add(ergebnisPanel, BorderLayout.CENTER);
mainSearch.revalidate();
}
});
}
if(doThis[0] == 1) {
b0.addActionListener(e -> {
String searchTerm = enterSearchTerm.getText().toString(); String searchTerm = enterSearchTerm.getText().toString();
ArrayList<JLabel> matchedMedia = Bibliothek.findMatchesUnfiltered(searchTerm); ArrayList<JLabel> matchedMedia = Bibliothek.findMatchesFiltered(searchTerm);
int i = matchedMedia.size(); int i = matchedMedia.size();
if(i == 0) { if(i == 0) {
JLabel text1 = new JLabel("Nichts passendes zu dem Suchbegriff " + searchTerm + " gefunden."); JLabel text1 = new JLabel("Nichts passendes zu dem Suchbegriff " + searchTerm + " gefunden.");
mainSearch.revalidate(); mainSearch.revalidate();
mainSearch.add(text1, BorderLayout.CENTER); mainSearch.add(text1, BorderLayout.CENTER);
mainSearch.revalidate(); mainSearch.revalidate();
System.out.println("UNFIL");
} else if (i > 0){ } else if (i > 0){
JPanel ergebnisPanel = new JPanel(new GridLayout(i, 1, 10,10)); JPanel ergebnisPanel = new JPanel(new GridLayout(i, 1, 10,10));
for(JLabel j: matchedMedia) { for(JLabel j: matchedMedia) {
@ -405,8 +378,32 @@ public class BibliothekGUI extends JFrame implements ActionListener{
mainSearch.revalidate(); mainSearch.revalidate();
} }
mainSearch.revalidate(); mainSearch.revalidate();
}); doThis[0] = 0;
} }
else if(box0.isSelected() == false){
String searchTerm = enterSearchTerm.getText().toString();
ArrayList<JLabel> matchedMedia = Bibliothek.findMatchesUnfiltered(searchTerm);
int i = matchedMedia.size();
if(i == 0) {
JLabel text1 = new JLabel("Nichts passendes zu dem Suchbegriff " + searchTerm + " gefunden.");
mainSearch.revalidate();
mainSearch.add(text1, BorderLayout.CENTER);
mainSearch.revalidate();
System.out.println("FIL");
} else if (i > 0){
JPanel ergebnisPanel = new JPanel(new GridLayout(i, 1, 10,10));
for(JLabel j: matchedMedia) {
ergebnisPanel.add(j);
}
mainSearch.revalidate();
mainSearch.add(ergebnisPanel, BorderLayout.CENTER);
mainSearch.revalidate();
}
mainSearch.revalidate();
doThis[0] = 0;
}
});
mainSearch.revalidate();
//SOUTH: OK Button to return //SOUTH: OK Button to return
JButton b1 = new JButton("OK"); JButton b1 = new JButton("OK");
b1.addActionListener(e -> cl.show(mainPanel, "suchenMenu")); b1.addActionListener(e -> cl.show(mainPanel, "suchenMenu"));
@ -415,7 +412,7 @@ public class BibliothekGUI extends JFrame implements ActionListener{
mainPanel.add(mainSearch, "Stichwort"); mainPanel.add(mainSearch, "Stichwort");
cl.show(mainPanel, "Stichwort"); cl.show(mainPanel, "Stichwort");
} }
private static void verlängern(Kunde k, String datumArray) { private static void verlängern(Kunde k, String datumArray) {
JPanel verlängerungPanel = new JPanel(new BorderLayout()); JPanel verlängerungPanel = new JPanel(new BorderLayout());

@ -1 +1 @@
Subproject commit 8b1904c138c647e81235ca8fbe7f24630b644549 Subproject commit 46975a289a6313a2d2a9346ca60a34a1f97e92df