Advertisement
GamexLive

Untitled

Feb 12th, 2021 (edited)
828
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 23.37 KB | None | 0 0
  1. // Hoffentlich nur das unnötigste herrausgestrichen
  2.  
  3.  
  4. Verwaltung
  5.  
  6. public class NachhilfeVerwaltung {
  7.     private BinarySearchTree<Subject> management;
  8.     private BinarySearchTree<Student> studentmanager;
  9.    
  10.     public NachhilfeVerwaltung() {
  11.         studentmanager = new BinarySearchTree<Student>();
  12.         management = new BinarySearchTree<Subject>();
  13.         addSubject(new Subject("Mathe"));
  14.         addSubject(new Subject("Informatik"));
  15.         addSubject(new Subject("Deutsch"));
  16.         addSubject(new Subject("Englisch"));
  17.         addSubject(new Subject("Religion"));
  18.         addSubject(new Subject("Sport"));
  19.     }
  20.    
  21.     public void addSubject(Subject pSubject) {
  22.         if(pSubject != null && management.search(pSubject) == null) {
  23.             management.insert(pSubject);
  24.             System.out.println("Subject: " + pSubject.getName() + " has been added");
  25.         }
  26.     }
  27.    
  28.     public Subject searchSubject(Subject pSubject) {
  29.         if(pSubject != null) {
  30.             return management.search(pSubject);
  31.         } else {
  32.             return null;
  33.         }
  34.     }
  35.    
  36.     public void removeSubject(Subject pSubject) {
  37.         management.remove(pSubject);
  38.         System.out.println("Subject: " + pSubject.getName() + " has been removed!");
  39.     }
  40.    
  41.     public List<Subject> getAllSubjects() {
  42.         if(!management.isEmpty()) {
  43.             List<Subject> tmp = new List<Subject>();
  44.             tmp = inOrderSubject(management,tmp);
  45.            
  46.             tmp.toFirst();
  47.             while(tmp.hasAccess()) {
  48.                 System.out.println("Subject: " + tmp.getContent().getName());
  49.                 tmp.next();
  50.             }
  51.            
  52.             return tmp;
  53.         } else {
  54.             System.out.println("ALARM");
  55.             return null;
  56.         }
  57.     }
  58.    
  59.     public int numberOfSubjects() {
  60.         List<Subject> tmp = new List<Subject>();
  61.         tmp = inOrderSubject(management,tmp);
  62.         tmp.toFirst();
  63.         int i = 0;
  64.         while(tmp.hasAccess()) {
  65.             i++;
  66.             tmp.next();
  67.         }
  68.         return i;
  69.     }
  70.    
  71.     public int numberOfStudents() {
  72.         List<Student> tmp = new List<Student>();
  73.         tmp = inOrderStudent(studentmanager,tmp);
  74.         tmp.toFirst();
  75.         int i = 0;
  76.         while(tmp.hasAccess()) {
  77.             i++;
  78.             tmp.next();
  79.         }
  80.         return i;
  81.     }
  82.    
  83.     public int numberOfTutor() {
  84.         List<Subject> tmp = new List<Subject>();
  85.         tmp = getAllSubjects();
  86.         tmp.toFirst();
  87.         int i = 0;
  88.         while(tmp.hasAccess()) {
  89.             i = i + tmp.getContent().numberOfTutor();
  90.             tmp.next();
  91.         }
  92.         return i;
  93.     }
  94.    
  95.    
  96.     public void addStudent(Student pStudent) {
  97.         if(pStudent != null && studentmanager.search(pStudent) == null) {
  98.             studentmanager.insert(pStudent);
  99.             System.out.println("Student: " + pStudent.getSurname() + " " + pStudent.getForename() + " has been added");
  100.         }
  101.     }
  102.    
  103.     public Student searchStudent(Student pStudent) {
  104.         if(pStudent != null) {
  105.             return studentmanager.search(pStudent);
  106.         } else {
  107.             return null;
  108.         }
  109.     }
  110.    
  111.     public void removeStudent(Student pStudent) {
  112.         studentmanager.remove(pStudent);
  113.         System.out.println("Subject: " + pStudent.getSurname() + " " + pStudent.getForename() + " has been removed!");
  114.     }
  115.    
  116.    
  117.     public List<Student> getAllStudents() {
  118.         if(!studentmanager.isEmpty()) {
  119.             List<Student> tmp = new List<Student>();
  120.             tmp = inOrderStudent(studentmanager,tmp);
  121.            
  122.             tmp.toFirst();
  123.             while(tmp.hasAccess()) {
  124.                 System.out.println("Student: " + tmp.getContent().getSurname() + " " + tmp.getContent().getForename()
  125.                         +  " "); //+ tmp.getContent().getNumberOfSubjects()[].getName());
  126.                 tmp.next();
  127.             }
  128.            
  129.             return tmp;
  130.         } else {
  131.             System.out.println("ALARM");
  132.             return null;
  133.         }
  134.     }
  135.    
  136.     private List<Student> inOrderStudent(BinarySearchTree<Student> pCurrentTree, List<Student> pList) {
  137.         List<Student> sorted = pList;
  138.         if(!pCurrentTree.isEmpty()) {
  139.             if(!pCurrentTree.getLeftTree().isEmpty()) {
  140.             inOrderStudent(pCurrentTree.getLeftTree(), sorted);
  141.             }
  142.             sorted.append(pCurrentTree.getContent());
  143.             if(!pCurrentTree.getRightTree().isEmpty()) {
  144.             inOrderStudent(pCurrentTree.getRightTree(), sorted);
  145.             }
  146.         }
  147.         return sorted;
  148.     }
  149.    
  150.     private List<Subject> inOrderSubject(BinarySearchTree<Subject> pCurrentTree, List<Subject> pList) {
  151.         List<Subject> sorted = pList;
  152.         if(!pCurrentTree.isEmpty()) {
  153.             if(!pCurrentTree.getLeftTree().isEmpty()) {
  154.             inOrderSubject(pCurrentTree.getLeftTree(), sorted);
  155.             }
  156.             sorted.append(pCurrentTree.getContent());
  157.             if(!pCurrentTree.getRightTree().isEmpty()) {
  158.             inOrderSubject(pCurrentTree.getRightTree(), sorted);
  159.             }
  160.         }
  161.         return sorted;
  162.     }
  163.    
  164. }
  165.  
  166. Tutor
  167.  
  168. public class Tutor {
  169.    
  170.     private String surname;
  171.     private String forename;
  172.    
  173.     private List<Student> students;
  174.    
  175.     private boolean ausgebucht;
  176.     private int maxAvailablePositions;
  177.     private int occupiedPositions;
  178.  
  179.     public Tutor(String pSurname, String pForename, int pMaxAvailablePositions) {
  180.         surname = pSurname;
  181.         forename = pForename;
  182.         maxAvailablePositions = pMaxAvailablePositions;
  183.         students = new List<Student>();
  184.         ausgebucht = false;
  185.    
  186.     }
  187.    
  188.     public void erhoeheBuchung(Student pStudent) {
  189.         students.insert(pStudent);
  190.         if(occupiedPositions < maxAvailablePositions) {
  191.             occupiedPositions++;
  192.         } else {
  193.             ausgebucht = true;
  194.             System.out.println("Der Lehrer hat keine Stellen frei");
  195.         }
  196.     }
  197.    
  198.     public void loescheBuchung(Student pStudent) {
  199.         students.toFirst();
  200.         while(students.hasAccess() && !students.getContent().getForename().equals(pStudent.getForename()) &&
  201.                 !students.getContent().getSurname().equals(pStudent.getSurname())) {
  202.             if(students.getContent().getForename().equals(pStudent.getForename()) && students.getContent().getSurname().equals(pStudent.getSurname())) {
  203.                 students.remove();
  204.             } else {
  205.                 students.next();
  206.             }
  207.         }
  208.         occupiedPositions--;
  209.         ausgebucht = false;
  210.     }
  211.    
  212.     public String getSurname() {
  213.         return surname;
  214.     }
  215.  
  216.     public void setSurname(String pSurname) {
  217.         surname = pSurname;
  218.     }
  219.  
  220.     public String getForename() {
  221.         return forename;
  222.     }
  223.  
  224.     public void setForename(String forename) {
  225.         this.forename = forename;
  226.     }
  227.  
  228.     public boolean getAusgebucht() {
  229.         return ausgebucht;
  230.     }
  231.  
  232.     public void setAusgebucht(boolean ausgebucht) {
  233.         this.ausgebucht = ausgebucht;
  234.     }
  235.  
  236.     public int getmaxAvailablePositions() {
  237.         return maxAvailablePositions;
  238.     }
  239.  
  240.  
  241.     public int getOccupiedPositions() {
  242.         return occupiedPositions;
  243.     }
  244.  
  245.  
  246. }
  247.  
  248. Student
  249.  
  250.  
  251. public class Student implements ComparableContent<Student> {
  252.     private String forename;
  253.     private String surname;
  254.     private Subject[] numberOfSubjects;
  255.    
  256.     public Student(String pForename, String pSurname) {
  257.         forename = pForename;
  258.         surname = pSurname;
  259.         numberOfSubjects = null;
  260.     }
  261.    
  262.     public Student(String pForename, String pSurname, Subject[] pNumberOfSubjects) {
  263.         forename = pForename;
  264.         surname = pSurname;
  265.         numberOfSubjects = pNumberOfSubjects;
  266.     }
  267.    
  268.    
  269.     public String getForename() {
  270.         return forename;
  271.     }
  272.    
  273.     public void setForename(String forename) {
  274.         this.forename = forename;
  275.     }
  276.    
  277.     public String getSurname() {
  278.         return surname;
  279.     }
  280.    
  281.     public void setSurname(String surname) {
  282.         this.surname = surname;
  283.     }
  284.  
  285.  
  286.     public Subject[] getNumberOfSubjects() {
  287.         return numberOfSubjects;
  288.     }
  289.  
  290.  
  291.     public void setNumberOfSubjects(Subject[] numberOfSubjects) {
  292.         this.numberOfSubjects = numberOfSubjects;
  293.     }
  294.  
  295.  
  296.     @Override
  297.     public boolean isGreater(Student pContent) {
  298.         if(surname.compareToIgnoreCase(pContent.getSurname()) > 0) {
  299.             return true;
  300.         }
  301.         return false;
  302.     }
  303.  
  304.     @Override
  305.     public boolean isEqual(Student pContent) {
  306.         if(surname.equalsIgnoreCase(pContent.getSurname())) {
  307.             return true;
  308.         }
  309.         return false;
  310.     }
  311.  
  312.     @Override
  313.     public boolean isLess(Student pContent) {
  314.         if(surname.compareToIgnoreCase(pContent.getSurname()) < 0) {
  315.             return true;
  316.         }
  317.         return false;
  318.     }
  319. }
  320.  
  321. Subjects
  322.  
  323.  
  324. public class Subject implements ComparableContent<Subject>{
  325.  
  326.     private String name;
  327.     private List<Tutor> tutor;
  328.    
  329.     public Subject(String pName) {
  330.         name = pName;
  331.         tutor = new List<Tutor>();
  332.     }
  333.    
  334.     public Tutor searchTutor(String pForename, String pSurname) {
  335.         tutor.toFirst();
  336.         while(tutor.hasAccess() && !tutor.getContent().getForename().equalsIgnoreCase(pForename) &&
  337.                 !tutor.getContent().getSurname().equalsIgnoreCase(pSurname)) {
  338.             tutor.next();
  339.         }
  340.         return tutor.getContent();
  341.     }
  342.    
  343.     public String getName() {
  344.         return name;
  345.     }
  346.  
  347.     public void setName(String name) {
  348.         this.name = name;
  349.     }
  350.    
  351.     public List<Tutor> getAllTeacher() {
  352.         if(tutor.isEmpty()) {
  353.             System.out.println("Keine Lehrer vorhanden");
  354.             return null;
  355.         }
  356.         return tutor;
  357.     }
  358.    
  359.     public int numberOfTutor() {
  360.         int number = 0;
  361.         tutor.toFirst();
  362.         while(tutor.hasAccess()) {
  363.             number++;
  364.             tutor.next();
  365.         }
  366.         return number;
  367.     }
  368.    
  369.     public int numberOfFreeSpace() {
  370.         int number = 0;
  371.         tutor.toFirst();
  372.         while(tutor.hasAccess()) {
  373.             if(!tutor.getContent().getAusgebucht()) {
  374.                 number++;
  375.             }
  376.             tutor.next();
  377.         }
  378.         return number;
  379.     }
  380.    
  381.     private void sortList() {
  382.         int numberOfTutors = 0;
  383.         tutor.toFirst();
  384.         while(tutor.hasAccess()) {
  385.             numberOfTutors++;
  386.             tutor.next();
  387.         }
  388.         Tutor[] savedTutors = new Tutor[numberOfTutors];
  389.         tutor.toFirst();
  390.         for (int i = 0; i < numberOfTutors; i++) {
  391.             savedTutors[i] = tutor.getContent();
  392.             tutor.remove();
  393.             tutor.next();
  394.         }
  395.        
  396.         //BubbleSort
  397.         boolean getauscht;
  398.         do {
  399.             getauscht = false;
  400.             for(int index = 1; index < savedTutors.length; index++) {
  401.                 if(savedTutors[index - 1].getSurname().compareToIgnoreCase(savedTutors[index].getSurname()) > 0) {
  402.                     Tutor tmp = savedTutors[index - 1];
  403.                     savedTutors[index - 1] = savedTutors[index];
  404.                     savedTutors[index] = tmp;
  405.                     getauscht = true;
  406.                 }
  407.             }
  408.         } while(getauscht);
  409.         // Zurück
  410.         for (int i = 0; i < savedTutors.length; i++) {
  411.             tutor.append(savedTutors[i]);
  412.         }
  413.        
  414.     }
  415.  
  416.     public void addTeacher(Tutor pTutor) {
  417.         tutor.append(pTutor);
  418.         sortList();
  419.     }
  420.    
  421.     public void removeTeacher(Tutor pTutor) {
  422.         if(tutor.isEmpty()) {
  423.             System.out.println("Liste ist leer");
  424.         } else {
  425.             tutor.toFirst();
  426.             while(tutor.hasAccess() && !tutor.getContent().getSurname().equals(pTutor.getSurname()) &&
  427.                     !tutor.getContent().getForename().equals(pTutor.getForename())) {
  428.                 tutor.next();
  429.             }
  430.             tutor.remove();
  431.         }
  432.     }
  433.  
  434.     @Override
  435.     public boolean isGreater(Subject pContent) {
  436.         if(name.compareToIgnoreCase(pContent.getName()) > 0) {
  437.             return true;
  438.         }
  439.         return false;
  440.     }
  441.  
  442.     @Override
  443.     public boolean isEqual(Subject pContent) {
  444.         if(name.equalsIgnoreCase(pContent.getName())) {
  445.             return true;
  446.         }
  447.         return false;
  448.     }
  449.  
  450.     @Override
  451.     public boolean isLess(Subject pContent) {
  452.         if(name.compareToIgnoreCase(pContent.getName()) < 0) {
  453.             return true;
  454.         }
  455.         return false;
  456.     }
  457.    
  458. }
  459.  
  460. GUINachhilfe
  461.  
  462. public class GUINachhilfe extends JFrame {
  463.  
  464.     public static void main(String[] args) {
  465.         EventQueue.invokeLater(new Runnable() {
  466.             public void run() {
  467.                 try {
  468.                     GUINachhilfe frame = new GUINachhilfe();
  469.                     frame.setVisible(true);
  470.                 } catch (Exception e) {
  471.                     e.printStackTrace();
  472.                 }
  473.             }
  474.         });
  475.     }
  476.  
  477.     /**
  478.      * Create the frame.
  479.      */
  480.     public GUINachhilfe() {
  481.         nv = new NachhilfeVerwaltung();
  482.        
  483.         pZ = new PanelZusammenfassung(nv);
  484.         pS = new PanelSubject(nv);
  485.         pZu = new PanelZuweisung(nv);
  486.         pV = new PanelVerwaltung(nv);
  487.        
  488.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  489.         setBounds(100, 100, 790, 465);
  490.         contentPane = new JPanel();
  491.         contentPane.setBackground(new Color(47, 79, 79));
  492.         contentPane.setForeground(new Color(255, 255, 255));
  493.         contentPane.setBorder(new LineBorder(new Color(0, 0, 255), 2));
  494.         setContentPane(contentPane);
  495.         contentPane.setLayout(null);
  496.        
  497.         allPanels = new JPanel();
  498.         allPanels.setBackground(new Color(0, 128, 128));
  499.         allPanels.setBounds(0, 0, 204, 418);
  500.         contentPane.add(allPanels);
  501.         allPanels.setLayout(null);
  502.        
  503.         panelZusammenfassung = new JPanel();
  504.         panelZusammenfassung.setBackground(new Color(0, 139, 139));
  505.         panelZusammenfassung.addMouseListener(new PanelMouseButtonAdapter(panelZusammenfassung){
  506.             @Override
  507.             public void mousePressed(MouseEvent e) {
  508.                 activatePanel(pZ);
  509.             }
  510.         });
  511.         panelZusammenfassung.setBounds(0, 140, 204, 40);
  512.         allPanels.add(panelZusammenfassung);
  513.         panelZusammenfassung.setLayout(null);
  514.        
  515.        
  516.         panelSubjects = new JPanel();
  517.         panelSubjects.addMouseListener(new PanelMouseButtonAdapter(panelSubjects) {
  518.             @Override
  519.             public void mousePressed(MouseEvent e) {
  520.                 activatePanel(pS);
  521.             }
  522.         });
  523.         panelSubjects.setBackground(new Color(0, 139, 139));
  524.         panelSubjects.setBounds(0, 180, 204, 40);
  525.         allPanels.add(panelSubjects);
  526.         panelSubjects.setLayout(null);
  527.        
  528.        
  529.         panelZuweisen = new JPanel();
  530.         panelZuweisen.setBackground(new Color(0, 139, 139));
  531.         panelZuweisen.addMouseListener(new PanelMouseButtonAdapter(panelZuweisen) {
  532.             @Override
  533.             public void mousePressed(MouseEvent e) {
  534.                 activatePanel(pZu);
  535.             }
  536.         });
  537.  
  538.         panelZuweisen.setBounds(0, 220, 204, 40);
  539.         allPanels.add(panelZuweisen);
  540.         panelZuweisen.setLayout(null);
  541.        
  542.        
  543.         panelVerwaltung = new JPanel();
  544.         panelVerwaltung.setBackground(new Color(0, 139, 139));
  545.         panelVerwaltung.addMouseListener(new PanelMouseButtonAdapter(panelVerwaltung) {
  546.             @Override
  547.             public void mousePressed(MouseEvent e) {
  548.                 activatePanel(pV);
  549.             }
  550.         });
  551.         panelVerwaltung.setBounds(0, 260, 204, 40);
  552.         allPanels.add(panelVerwaltung);
  553.         panelVerwaltung.setLayout(null);
  554.        
  555.        
  556.         panelContent = new JPanel();
  557.         panelContent.setBackground(new Color(47, 79, 79));
  558.         panelContent.setBounds(207, 0, 565, 418);
  559.        
  560.         panelContent.add(pS);
  561.         panelContent.add(pV);
  562.         panelContent.add(pZu);
  563.         panelContent.add(pZ);
  564.        
  565.        
  566.         contentPane.add(panelContent);
  567.         panelContent.setLayout(null);
  568.     }
  569.    
  570.     public void activatePanel(JPanel selectedPanel) {
  571.         pS.setVisible(false);
  572.         pZ.setVisible(false);
  573.         pZu.setVisible(false);
  574.         pV.setVisible(false);
  575.         if(selectedPanel.equals(pZ)) {
  576.             pZ.updateLabel(String.valueOf(nv.numberOfStudents()), String.valueOf(nv.numberOfSubjects()),
  577.                     String.valueOf(nv.numberOfTutor()));
  578.         }
  579.         selectedPanel.setVisible(true);
  580.        
  581.     }
  582.    
  583.     private class PanelMouseButtonAdapter extends MouseAdapter {
  584.         JPanel panel;
  585.         public PanelMouseButtonAdapter(JPanel panel) {
  586.             this.panel = panel;
  587.         }
  588.        
  589.         @Override
  590.         public void mouseEntered(MouseEvent e) {
  591.             panel.setBackground(new Color(112,128,144));
  592.         }
  593.        
  594.         @Override
  595.         public void mouseExited(MouseEvent e) {
  596.             panel.setBackground(new Color(0,139,139));
  597.         }
  598.        
  599.         @Override
  600.         public void mousePressed(MouseEvent e) {
  601.             panel.setBackground(new Color(60,179,113));
  602.         }
  603.        
  604.         @Override
  605.         public void mouseReleased(MouseEvent e) {
  606.             panel.setBackground(new Color(112,128,144));
  607.         }
  608.     }
  609. }
  610.  
  611.  
  612. GUINewStudent
  613.  
  614. public class GUINewStudent extends JFrame {
  615.  
  616.    
  617.     private NachhilfeVerwaltung nv;
  618.  
  619.     public GUINewStudent(NachhilfeVerwaltung pNv) {
  620.         nv = pNv;
  621.        
  622.         if(nv.numberOfSubjects() != 0) {
  623.         String[] subjects = new String[nv.numberOfSubjects()];
  624.         List<Subject> tmp = nv.getAllSubjects();
  625.         tmp.toFirst();
  626.         for(int i = 0; i < subjects.length; i++) {
  627.             subjects[i] = tmp.getContent().getName();
  628.             tmp.next();
  629.         }
  630.        
  631.         list = new JList<String>(subjects);
  632.  
  633.         list.setLayoutOrientation(JList.HORIZONTAL_WRAP);
  634.         list.setVisibleRowCount(3);
  635.         list.setFont(new Font("Arial", Font.PLAIN, 20));
  636.         list.setBounds(12, 247, 408, 164);
  637.         contentPane.add(list);
  638.         }
  639.         btnNewButton = new JButton("Erstellen");
  640.         btnNewButton.setFont(new Font("Arial", Font.PLAIN, 20));
  641.         btnNewButton.setBounds(146, 422, 154, 25);
  642.         btnNewButton.addActionListener(new ActionListener() {
  643.            
  644.             @Override
  645.             public void actionPerformed(ActionEvent e) {
  646.                 int[] test = list.getSelectedIndices();
  647.                 Subject[] test1 = new Subject[test.length];
  648.                 for (int i = 0; i < test.length; i++) {
  649.                     test1[i] = new Subject(list.getModel().getElementAt(i));
  650.                 }
  651.                 nv.addStudent(new Student(textName.getText(),textVorname.getText(), test1));
  652.                 nv.getAllStudents();
  653.                 dispose();
  654.             }
  655.         });
  656.         contentPane.add(btnNewButton);
  657.     }
  658.    
  659.  
  660. }
  661.  
  662.  
  663. GUINewTutor
  664.  
  665. public class GUINewTutor extends JFrame {
  666.    
  667.     private NachhilfeVerwaltung nv;
  668.  
  669.     public GUINewTutor(NachhilfeVerwaltung pNv) {
  670.         nv = pNv;
  671.        
  672.         btnNewButton = new JButton("Erstellen");
  673.         btnNewButton.setFont(new Font("Arial", Font.PLAIN, 20));
  674.         btnNewButton.setBounds(146, 422, 154, 25);
  675.         btnNewButton.addActionListener(new ActionListener() {
  676.            
  677.             @Override
  678.             public void actionPerformed(ActionEvent e) {
  679.                 int[] auswahl = list.getSelectedIndices();
  680.                 Subject[] subjects = new Subject[auswahl.length];
  681.                 for (int i = 0; i < auswahl.length; i++) {
  682.                     subjects[i] = new Subject(list.getModel().getElementAt(i));
  683.                 }
  684.                 for(Subject s : subjects) {
  685.                     nv.searchSubject(s).addTeacher(new Tutor(textName.getText(),textVorname.getText(), auswahl.length));
  686.                 }
  687.                 dispose();
  688.             }
  689.         });
  690.         contentPane.add(btnNewButton);
  691.        
  692.         if(nv.numberOfSubjects() != 0) {
  693.             String[] subjects = new String[nv.numberOfSubjects()];
  694.             List<Subject> tmp = nv.getAllSubjects();
  695.             tmp.toFirst();
  696.             for(int i = 0; i < subjects.length; i++) {
  697.                 subjects[i] = tmp.getContent().getName();
  698.                 tmp.next();
  699.             }
  700.             list = new JList<String>(subjects);
  701.  
  702.             list.setLayoutOrientation(JList.HORIZONTAL_WRAP);
  703.             list.setVisibleRowCount(3);
  704.             list.setFont(new Font("Arial", Font.PLAIN, 20));
  705.             list.setBounds(12, 275, 408, 145);
  706.             contentPane.add(list);
  707.             }
  708.     }
  709. }
  710.  
  711. PanelZusammenfassung
  712.  
  713. public class PanelZusammenfassung extends JPanel {
  714.  
  715.     private NachhilfeVerwaltung nv;
  716.    
  717.    
  718.     public PanelZusammenfassung(NachhilfeVerwaltung pNv) {
  719.         nv = pNv;
  720.         setBackground(new Color(47, 79, 79));
  721.         setBounds(0,0,564,418);
  722.         setLayout(null);
  723.        
  724.        
  725.         setVisible(false);
  726.     }
  727.     public void updateLabel(String pSchueler, String pFach, String pLehrer) {
  728.         labelAnzahlStudents.setText(pSchueler);
  729.         labelAnzahlSubjects.setText(pFach);
  730.         labelAnzahlTutor.setText(pLehrer);
  731.     }
  732. }
  733.  
  734.  
  735. PanelSubject
  736.  
  737. public class PanelSubject extends JPanel {
  738.     private JTextField txtFachname;
  739.     private JTextArea textArea;
  740.    
  741.     private NachhilfeVerwaltung nv;
  742.  
  743.     public PanelSubject(NachhilfeVerwaltung pNv) {
  744.         nv = pNv;
  745.        
  746.        
  747.         JButton buttonSuche = new JButton("Suche");
  748.         buttonSuche.addActionListener(new ActionListener() {
  749.  
  750.             @Override
  751.             public void actionPerformed(ActionEvent e) {
  752.                 buttonSuche_ActionPerformed(e);
  753.                
  754.             }
  755.            
  756.         });
  757.         setVisible(false);
  758.     }
  759.  
  760.     protected void buttonSuche_ActionPerformed(ActionEvent e) {
  761.         textArea.setText("Anzahl Lehrer: " + nv.searchSubject(new Subject(txtFachname.getText())).numberOfTutor() + "\n" +
  762.                         "Freie Stellen: " + nv.searchSubject(new Subject(txtFachname.getText())).numberOfFreeSpace());
  763.     }
  764. }
  765.  
  766.  
  767. PanelZuweisung
  768.  
  769.  
  770. public class PanelZuweisung extends JPanel {
  771.     private JList<String> list;
  772.     private DefaultListModel<String> model;
  773.    
  774.     private NachhilfeVerwaltung nv;
  775.  
  776.     public PanelZuweisung(NachhilfeVerwaltung pNv) {
  777.         nv = pNv;
  778.        
  779.         buttonSuche = new JButton("Suche");
  780.         buttonSuche.addActionListener(new ActionListener() {
  781.  
  782.             @Override
  783.             public void actionPerformed(ActionEvent e) {
  784.                 buttonSuche_ActionPerformed(e);
  785.                
  786.             }
  787.            
  788.         });
  789.         buttonSuche.setBounds(24, 172, 97, 25);
  790.         add(buttonSuche);
  791.        
  792.         model = new DefaultListModel<String>();
  793.         list = new JList<String>(model);
  794.         list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  795.         list.setLayoutOrientation(JList.VERTICAL_WRAP);
  796.         list.setBounds(163, 51, 136, 196);
  797.         add(list);
  798.        
  799.         buttonZuweisen = new JButton("Zuweisen");
  800.         buttonZuweisen.addActionListener(new ActionListener() {
  801.  
  802.             @Override
  803.             public void actionPerformed(ActionEvent e) {
  804.                 buttonZuweisen_ActionPerformed(e);
  805.             }
  806.            
  807.         });
  808.         buttonZuweisen.setFont(new Font("Arial", Font.PLAIN, 20));
  809.         buttonZuweisen.setBounds(338, 220, 127, 25);
  810.         add(buttonZuweisen);
  811.         setVisible(false);
  812.     }
  813.  
  814.     public void buttonSuche_ActionPerformed(ActionEvent e) {
  815.         List<Tutor> tmp = nv.searchSubject(new Subject(textField.getText())).getAllTeacher();
  816.         tmp.toFirst();
  817.         while(tmp.hasAccess()) {
  818.         model.addElement(tmp.getContent().getForename() + " " + tmp.getContent().getSurname());
  819.         tmp.next();
  820.         }
  821.     }
  822.    
  823.     public void buttonZuweisen_ActionPerformed(ActionEvent e) {
  824.         int index = list.getSelectedIndex();
  825.        
  826.         String t = list.getModel().getElementAt(index);
  827.         String[] splitted = t.split(" ");
  828.         nv.searchSubject(new Subject(textField.getText())).searchTutor(splitted[0], splitted[1])
  829.         .erhoeheBuchung(nv.searchStudent(new Student(lblNewLabel_2.getText(),lblNewLabel_1.getText())));;
  830.        
  831.  
  832.     }
  833. }
  834.  
  835.  
  836. PanelVerwaltung
  837.  
  838. public class PanelVerwaltung extends JPanel {
  839.     private NachhilfeVerwaltung nv;
  840.  
  841.    
  842.     public PanelVerwaltung(NachhilfeVerwaltung pNv) {
  843.         nv = pNv;
  844.        
  845.         btnNewButton = new JButton("Neuer Sch\u00FCler");
  846.         btnNewButton.addActionListener(new ActionListener() {
  847.             @Override
  848.             public void actionPerformed(ActionEvent e) {
  849.                 btnNewButton_ActionPerformed(e);
  850.             }
  851.         });
  852.         btnNewButton.setBounds(30, 83, 116, 25);
  853.         add(btnNewButton);
  854.    
  855.        
  856.        
  857.         buttonLoeschen = new JButton("L\u00F6schen");
  858.         buttonLoeschen.addActionListener(new ActionListener() {
  859.             @Override
  860.             public void actionPerformed(ActionEvent e) {
  861.                 buttonLoeschen_ActionPerformed(e);
  862.             }
  863.         });
  864.         buttonLoeschen.setBounds(30, 305, 116, 25);
  865.         add(buttonLoeschen);
  866.        
  867.         btnNewButton_1 = new JButton("Neuer Lehrer");
  868.         btnNewButton_1.addActionListener(new ActionListener() {
  869.             @Override
  870.             public void actionPerformed(ActionEvent e) {
  871.                 btnNewButton_1_ActionPerformed(e);
  872.             }
  873.         });
  874.         btnNewButton_1.setBounds(212, 83, 128, 25);
  875.         add(btnNewButton_1);
  876.        
  877.         btnNewButton_2 = new JButton("L\u00F6schen");
  878.         btnNewButton_2.addActionListener(new ActionListener() {
  879.             @Override
  880.             public void actionPerformed(ActionEvent e) {
  881.             btnNewButton_2_ActionPerformed(e);
  882.             }
  883.         });
  884.         btnNewButton_2.setBounds(212, 305, 128, 25);
  885.         add(btnNewButton_2);
  886.        
  887.         btnNewButton_3 = new JButton("Neues Fach");
  888.         btnNewButton_3.addActionListener(new ActionListener() {
  889.  
  890.             @Override
  891.             public void actionPerformed(ActionEvent e) {
  892.                 btnNewButton_3_ActionPerformed(e);
  893.             }
  894.            
  895.         });
  896.         btnNewButton_3.setBounds(403, 202, 116, 25);
  897.         add(btnNewButton_3);
  898.        
  899.         btnNewButton_4 = new JButton("L\u00F6schen");
  900.         btnNewButton_4.addActionListener(new ActionListener() {
  901.  
  902.             @Override
  903.             public void actionPerformed(ActionEvent e) {
  904.                 btnNewButton_4_ActionPerformed(e);
  905.             }
  906.            
  907.         });
  908.         btnNewButton_4.setBounds(403, 255, 116, 25);
  909.         add(btnNewButton_4);
  910.         setVisible(false);
  911.    
  912.     }
  913.     //Fach
  914.     public void btnNewButton_4_ActionPerformed(ActionEvent e) {
  915.         nv.removeSubject(new Subject(txtFachname.getText()));
  916.     }
  917.     public void btnNewButton_3_ActionPerformed(ActionEvent e) {
  918.         nv.addSubject(new Subject(txtFachname.getText()));
  919.     }
  920.  
  921.     //Lehrer
  922.     public void btnNewButton_1_ActionPerformed(ActionEvent e) {
  923.         GUINewTutor guiTutor = new GUINewTutor(nv);
  924.         guiTutor.setVisible(true);
  925.        
  926.     }
  927.     public void btnNewButton_2_ActionPerformed(ActionEvent e) {
  928.         List<Subject> tmp = nv.getAllSubjects();
  929.         tmp.toFirst();
  930.         while(tmp.hasAccess()) {
  931.             List<Tutor> tutorTMP = tmp.getContent().getAllTeacher();
  932.             tutorTMP.toFirst();
  933.             while(tutorTMP.hasAccess()) {
  934.                 if(tutorTMP.getContent().getForename().equalsIgnoreCase(txtVorname_1.getText()) &&
  935.                    tutorTMP.getContent().getSurname().equalsIgnoreCase(txtNachname_1.getText())) {
  936.                     tutorTMP.remove();
  937.                 }
  938.             }
  939.         }
  940.     }
  941.  
  942.     //Student
  943.     public void btnNewButton_ActionPerformed(ActionEvent evt) {
  944.         GUINewStudent guiStudent = new GUINewStudent(nv);
  945.         guiStudent.setVisible(true);
  946.        
  947.       }
  948.     public void buttonLoeschen_ActionPerformed(ActionEvent evt) {
  949.             nv.removeStudent(new Student(txtVorname.getText(),txtNachname.getText()));
  950.       }
  951. }
  952.  
  953.  
  954.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement