import java.applet.Applet;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class adressbuch extends Appletimplements ActionListener{ public void init() { resize(450, 500); repaint(); for(int j = 0; j < 10; j++) Arr[j] = def; Entry entry = new Entry("Irgend", "Jemand", "Zuercherstrasse", "8000", "Zuerich"); Arr[0] = entry; i++; Entry entry1 = new Entry("Jemand", "Anders", "Wohlerstrasse", "8400", "Winterthur"); Arr[1] = entry1; i++; } private void place(Component component, int j, int k, int l, int i1) { component.setBounds(j, k, l, i1); add(component); } public adressbuch() { def = new Entry("", "", "", "", ""); i = 0; setLayout(null); setSize(200, 300); place(new Label("Vorname"), 30, 50, 80, 20); place(firstName = new TextField(), 120, 50, 140, 20); place(new Label("Nachname"), 30, 80, 80, 20); place(familyName = new TextField(), 120, 80, 140, 20); place(new Label("Strasse"), 30, 110, 80, 20); place(street = new TextField(), 120, 110, 140, 20); place(new Label("Postleitzahl"), 30, 140, 80, 20); place(zipCode = new TextField(), 120, 140, 140, 20); place(new Label("Ort"), 30, 170, 80, 20); place(city = new TextField(), 120, 170, 140, 20); place(new Label("Index"), 30, 200, 80, 20); place(index = new TextField(), 120, 200, 140, 20); Button button; place(button = new Button("Adresse einfuegen"), 300, 50, 100, 20); button.addActionListener(this); place(button = new Button("Adressen ausgeben"), 300, 80, 100, 20); button.addActionListener(this); place(button = new Button("Loesche Eintrag"), 300, 110, 100, 20); button.addActionListener(this); place(button = new Button("Loesche Adressen"), 300, 140, 100, 20); button.addActionListener(this); place(button = new Button("Aendern"), 300, 170, 100, 20); button.addActionListener(this); place(button = new Button("Hole Adresse"), 300, 200, 100, 20); button.addActionListener(this); result2 = new TextArea(""); place(result2, 30, 280, 380, 200); result3 = new TextField(""); place(result3, 30, 240, 380, 30); result3.setForeground(Color.blue); repaint(); setVisible(true); } public void actionPerformed(ActionEvent actionevent) { if(actionevent.getActionCommand().equals("Adresse einfuegen")) { if((familyName.getText().length() == 0) & (firstName.getText().length() == 0)) result3.setText("Bitte Adresse eingeben"); else einfuegenGedrueckt(); } else if(actionevent.getActionCommand().equals("Adressen ausgeben")) ausgebenGedrueckt(); else if(actionevent.getActionCommand().equals("Loesche Eintrag")) Reset(); else if(actionevent.getActionCommand().equals("Loesche Adressen")) loescheGedrueckt(); else if(actionevent.getActionCommand().equals("Aendern")) aendernGedrueckt(); else if(actionevent.getActionCommand().equals("Hole Adresse")) holeGedrueckt(); } private void einfuegenGedrueckt() { boolean flag = false; result3.setText(""); for(int j = 0; j < 1; j++) { if(!schonVorhanden(j)) continue; result3.setText("Adresse schon vorhanden"); flag = true; break; } if((i < 10) & (!flag)) { Arr[i] = new Entry(firstName.getText(), familyName.getText(), street.getText(), zipCode.getText(), city.getText()); ShowEntry(i); Reset(); result3.setText("Adresse eingefuegt"); i++; } else if(!flag) result3.setText("Adressbuch voll!!"); } private void ausgebenGedrueckt() { result2.setText(""); if(i == 0) result3.setText("Keine Adressen vorhanden"); for(int j = 0; j < i; j++) { ShowEntry(j); result3.setText("Adressen ausgegeben"); } } private void loescheGedrueckt() { if(index.getText().length() != 0) { int j = Integer.parseInt(index.getText()); if(j < i) { for(int k = j; k < i; k++) Arr[k] = Arr[k + 1]; i = i - 1; result3.setText("Adresse geloescht"); result2.setText(""); } else { result3.setText("Diese Adresse ist noch nicht vorhanden"); } } else { result3.setText("Bitte eine Adresse angeben"); } } private void aendernGedrueckt() { if(index.getText().length() == 0) result3.setText("Bitte Adresse zum aendern angeben"); else if(Integer.parseInt(index.getText()) < i) { int j = Integer.parseInt(index.getText()); Arr[j] = new Entry(firstName.getText(), familyName.getText(), street.getText(), zipCode.getText(), city.getText()); result3.setText("Adresse wurde geaendert"); ShowEntry(j); } } private void holeGedrueckt() { if((familyName.getText().length() == 0) & (index.getText().length() == 0)) result3.setText("Bitte Name oder Index als Suchbegriff eingeben"); else if(familyName.getText().length() != 0) { int j = 0; if(firstName.getText().length() != 0) { result3.setText(""); for(int k = 0; k < i; k++) if(firstName.getText().equals(Arr[k].FirstName) && familyName.getText().equals(Arr[k].FamilyName)) { result3.setText("Adresse gefunden!!"); index.setText(String.valueOf(k)); put(k); j = i; ShowEntry(k); } } else { for(int l = 0; l < i; l++) if(familyName.getText().equals(Arr[l].FamilyName)) { j++; ShowEntry(l); if(j == 1) { put(l); index.setText(String.valueOf(l)); result3.setText("Adresse gefunden!!"); } else { result3.setText("Mehrere Adressen gefunden"); Reset(); } } } if(j < 1) result3.setText("Keine Adresse gefunden"); } else if(Integer.parseInt(index.getText()) < i) { ShowEntry(Integer.parseInt(index.getText())); put(Integer.parseInt(index.getText())); result3.setText("Adresse gefunden!!"); } else if(Integer.parseInt(index.getText()) > i) result3.setText("Keine Adresse mit diesem Index vorhanden"); } public void put(int j) { firstName.setText(Arr[j].FirstName); familyName.setText(Arr[j].FamilyName); street.setText(Arr[j].Street); zipCode.setText(Arr[j].ZipCode); city.setText(Arr[j].City); } public void Reset() { index.setText(""); familyName.setText(""); firstName.setText(""); street.setText(""); zipCode.setText(""); city.setText(""); } public void ShowEntry(int j) { result2.append("Index: " + String.valueOf(j) + "\n"); result2.append(Arr[j].FirstName + " " + Arr[j].FamilyName + "\n"); result2.append(Arr[j].Street + "\n"); result2.append(Arr[j].ZipCode + " " + Arr[j].City + "\n" + "\n"); } public boolean schonVorhanden(int j) { return familyName.getText().equals(Arr[j].FamilyName) & firstName.getText().equals(Arr[j].FirstName) & street.getText().equals(Arr[j].Street) & zipCode.getText().equals(Arr[j].ZipCode) & city.getText().equals(Arr[j].City); } private TextField firstName; private TextField familyName; private TextField street; private TextField zipCode; private TextField city; private TextField index; private TextArea result2; private TextField result3; private Entry def; static final int N = 10; static Entry Arr[] = new Entry[10]; int i; }