|
|
|
@ -13,7 +13,7 @@ public class BibliothekGUI extends JFrame implements ActionListener{
|
|
|
|
|
private static JPanel mainPanel = new JPanel(cl);
|
|
|
|
|
|
|
|
|
|
public static void main(String[] args) {
|
|
|
|
|
new BibliothekGUI();
|
|
|
|
|
SwingUtilities.invokeLater(BibliothekGUI::new);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public BibliothekGUI() {
|
|
|
|
@ -344,30 +344,57 @@ public class BibliothekGUI extends JFrame implements ActionListener{
|
|
|
|
|
private static void searchMenu(Kunde k) {
|
|
|
|
|
JPanel mainSearch = new JPanel(new BorderLayout());
|
|
|
|
|
//NORTH: Search bar
|
|
|
|
|
JPanel enterSearch = new JPanel(new GridLayout(1,3,10,10));
|
|
|
|
|
JPanel enterSearch = new JPanel(new GridLayout(1,4,10,10));
|
|
|
|
|
JLabel text0 = new JLabel("Geben Sie einen Suchbegriff ein:");
|
|
|
|
|
JTextField enterSearchTerm = new JTextField(20);
|
|
|
|
|
//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();)
|
|
|
|
|
JButton b0 = new JButton("Suchen");
|
|
|
|
|
JCheckBox box0 = new JCheckBox("Nur ausleihbare Medien anzeigen");
|
|
|
|
|
enterSearch.add(text0);
|
|
|
|
|
enterSearch.add(enterSearchTerm);
|
|
|
|
|
enterSearch.add(b0);
|
|
|
|
|
enterSearch.add(box0);
|
|
|
|
|
mainSearch.add(enterSearch, BorderLayout.NORTH);
|
|
|
|
|
//CENTER: Matched media
|
|
|
|
|
mainSearch.revalidate();
|
|
|
|
|
int[] doThis = {0};
|
|
|
|
|
box0.addActionListener(e -> {
|
|
|
|
|
if(box0.isSelected() == true) {
|
|
|
|
|
if(box0.isSelected()) {
|
|
|
|
|
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();
|
|
|
|
|
ArrayList<JLabel> matchedMedia = Bibliothek.findMatchesFiltered(searchTerm);
|
|
|
|
|
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("UNFIL");
|
|
|
|
|
} else if (i > 0){
|
|
|
|
|
JPanel ergebnisPanel = new JPanel(new GridLayout(i, 1, 10,10));
|
|
|
|
|
for(JLabel j: matchedMedia) {
|
|
|
|
@ -378,32 +405,8 @@ public class BibliothekGUI extends JFrame implements ActionListener{
|
|
|
|
|
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
|
|
|
|
|
JButton b1 = new JButton("OK");
|
|
|
|
|
b1.addActionListener(e -> cl.show(mainPanel, "suchenMenu"));
|
|
|
|
|