diff --git a/Programmierung2/src/GUIAnwendungen/StudentManagementSystem/VerwalteStudent.java b/Programmierung2/src/GUIAnwendungen/StudentManagementSystem/VerwalteStudent.java index 956fba5..42fdcbb 100644 --- a/Programmierung2/src/GUIAnwendungen/StudentManagementSystem/VerwalteStudent.java +++ b/Programmierung2/src/GUIAnwendungen/StudentManagementSystem/VerwalteStudent.java @@ -10,15 +10,15 @@ public class VerwalteStudent { private ArrayList allStudents; public VerwalteStudent() { this.view = new Student_login(); - view.getInsertStudent().addActionListener(e -> login()); + view.getInsertStudent().addActionListener(e -> insert()); view.getLoescheStudent().addActionListener(e -> loeschen()); view.getSucheStudent().addActionListener(e -> showUser()); + view.getUpdateStudent().addActionListener(e -> update()); allStudents = new ArrayList<>(); } - public void login() { - + public void insert() { String idText = view.getEingabeId().getText(); int id = Integer.parseInt(idText); String name = view.getEingabeName().getText(); @@ -32,42 +32,60 @@ public class VerwalteStudent { student = new Student(name, vorname, geschlecht, email, teleN, Adresse, geburtstag, id); allStudents.add(student); view.showInfo(student.toString()); - -// String[] array = {student.getId()+"",student.getAdresse(),student.getEmail(),student.getGeburtstag(),student.getGeschlecht(),student.getName(),student.getTele()}; -// view.getModel().addRow(array); - - restAlleInputs(); - + } + + public void update() { + String idText = view.getEingabeId().getText(); + int id = Integer.parseInt(idText); + student = findStudent(id); + if (student == null) { + view.showErrore("Stundent ist nicht im System!"); + return; + } + String name = view.getEingabeName().getText(); + String vorname = view.getEingabeVorname().getText(); + String geburtstag = view.getEingabeGeburtstag().getText(); + String geschlecht = view.getEingabeGeschlecht().getSelectedItem().toString(); + String teleN = view.getEingabeTeleN().getText(); + String email = view.getEingabeEmail().getText(); + String Adresse = view.getEingabeAdresse().getText(); + + if (!name.isEmpty()) + student.setName(name); + else if(!vorname.isEmpty()) + student.setVorname(vorname); + else if(!geburtstag.isEmpty()) + student.setGeburtstag(geburtstag); + else if(!geschlecht.isEmpty()) + student.setGeschlecht(geschlecht); + else if(!teleN.isEmpty()) + student.setTele(teleN); + else if(!email.isEmpty()) + student.setEmail(email); + else if(!Adresse.isEmpty()) + student.setAdresse(Adresse); + + view.showInfo("Student erfolgreich aktulisiert"); + restAlleInputs(); + } public void loeschen() { - String idText = view.getEingabeIdZuLoeschen().getText(); int id = Integer.parseInt(idText); student = findStudent(id); if (student != null) { allStudents.remove(student); view.showInfo("Student wurde erfolgreich gelöscht"); - } - - - - } - - private Student findStudent(int id) { - for (Student s : allStudents) - if (s.getId() == id) - return s; - - return null; + } } public void showUser() { String studentName = view.getEingabeNameZuSuchen().getText(); student = findStudent(studentName); if (student != null) { - String[] array = {student.getId()+"",student.getAdresse(),student.getEmail(),student.getGeburtstag(),student.getGeschlecht(),student.getName(),student.getTele()}; + String[] array = {student.getId()+"",student.getName(),student.getVorname(),student.getGeburtstag(),student.getGeschlecht(),student.getTele(),student.getEmail(),student.getAdresse()}; view.getModel().addRow(array); view.setEingabeNameZuSuchen(""); }else @@ -82,7 +100,18 @@ public class VerwalteStudent { return null; } - public void restAlleInputs() { + + + + private Student findStudent(int id) { + for (Student s : allStudents) + if (s.getId() == id) + return s; + + return null; + } + + private void restAlleInputs() { view.setEingabeName("");; view.setEingabeTeleN(""); view.setEingabeAdresse(""); diff --git a/Programmierung2/src/VorlesungsFolien/Verebung/Firma.java b/Programmierung2/src/VorlesungsFolien/Verebung/Firma.java new file mode 100644 index 0000000..3fbbd2c --- /dev/null +++ b/Programmierung2/src/VorlesungsFolien/Verebung/Firma.java @@ -0,0 +1,97 @@ +package VorlesungsFolien.Verebung; + +import java.util.ArrayList; + +public class Firma { + private ArrayList mas = new ArrayList<>(); + + public static void main(String[] args) { + Mitarbeiter mi = new Mitarbeiter("Müller", "27.10.1972"); + Manager ma = new Manager("Stromberg", "01.02.1970", "Finanzen"); + + Firma hal = new Firma(); + + hal.mitarbeiterEinstellen(mi); + hal.mitarbeiterEinstellen(ma); + + Mitarbeiter mi2 = new Mitarbeiter("Mayer", "12.12.1999"); + hal.mitarbeiterEinstellen(mi2); + + // ma = mi; // geht nicht! + + mi = ma; + System.out.println("Polymorphismus"); + System.out.println(mi.getGehalt()); + System.out.println(ma.getAbteilung()); + // System.out.println(mi.getAbteilung()); // geht nicht, wg. statischem Typ Mitarbeiter + + if (mi instanceof Manager) + System.out.println( ((Manager)mi).getAbteilung() ); + + ((Manager)mi2).getAbteilung(); + } + + private void mitarbeiterEinstellen(Mitarbeiter m) { + mas.add(m); + } + + private void gehaltsErhöhung() { + for (Mitarbeiter m : mas) { + double erhöhung = 0.02; + + // System.out.println(m instanceof String); // das geht NICHT, muss zur Vererbungshierachie passen + + if (m instanceof Manager) + erhöhung = 0.12; +// else if (m instanceof Geschäftsführer) +// erhöhung = 0.2; + + m.setGehalt(m.getGehalt() * (1 + erhöhung)); + } + } +} + +class Mitarbeiter extends Object { + private String name; + private double gehalt; + private String geburtsdatum; + + public Mitarbeiter(String name, String geburtsdatum) { + this(name, 35000, geburtsdatum); + } + + public Mitarbeiter(String name, double gehalt, String geburtsdatum) { + this.name = name; + this.gehalt = gehalt; + this.geburtsdatum = geburtsdatum; + } + + public String getDetails() { + return name; + } + + public double getGehalt() { + return gehalt; + } + + public void setGehalt(double gehalt) { + this.gehalt = gehalt; + } +} + +class Manager extends Mitarbeiter { + private String abteilung; + + public Manager(String name, String geburtsdatum, String abteilung) { + super(name, 65000, geburtsdatum); // das MUSS zuerst gemacht werden! + this.abteilung = abteilung; + } + + public String getDetails() { + return super.getDetails() + " " + abteilung; + } + + public String getAbteilung() { + return abteilung; + } +} diff --git a/Programmierung2/src/VorlesungsFolien/Verebung/Main.java b/Programmierung2/src/VorlesungsFolien/Verebung/Main.java deleted file mode 100644 index 7723abf..0000000 --- a/Programmierung2/src/VorlesungsFolien/Verebung/Main.java +++ /dev/null @@ -1,47 +0,0 @@ -package VorlesungsFolien.Verebung; - -public class Main { - public static void main(String[] args) { - Mitarbeiter mi = new Mitarbeiter("Müller", "27.10.1972"); - System.out.println(mi.toString()); // nutzt die von Object geerbte Methode - System.out.println(mi.getDetails()); - - System.out.println(); - - Manager ma = new Manager("Stromberg", "01.02.1970"); - System.out.println(ma.toString()); // wieder die Methode von Object - System.out.println(ma.getDetails()); - } -} - -class Mitarbeiter extends Object { - private String name; - private double gehalt; - private String geburtsdatum; - - public Mitarbeiter(String name, String geburtsdatum) { - this(name, 35000, geburtsdatum); - } - - public Mitarbeiter(String name, double gehalt, String geburtsdatum) { - this.name = name; - this.gehalt = gehalt; - this.geburtsdatum = geburtsdatum; - } - - public String getDetails() { - return name; - } -} - -class Manager extends Mitarbeiter { - private String abteilung; - - public Manager(String name, String geburtsdatum) { - super(name, 65000, geburtsdatum); // das MUSS gemacht werden! - } - - public String getDetails() { - return super.getDetails() + " " + abteilung; - } -}