samedi 30 mai 2015
Input/Output Bekanntenkreis Gui - Speichern und Laden der Bekannten
Posted on 14:03 by verona
Hallo :),
nach langer Überlegung, habe ich mich doch entschieden hier einen Eintrag zu verfassen, da ich an dieser Stelle einfach null weiter komme. Ich bin Java Anfänger und habe leider schon in vielen Foren mitbekommen, dass Anfänger runter gemacht wurden, wenn sie Fragen gestellt haben, weil ihr Code an anderen Stellen Fehlerhaft war. Ich bitte euch also etwas nachsichtig zu sein, ihr könnt mich gerne auf Fehler hinweisen aber ich Frage hier ja nicht umsonst. Ich bin weit von einem Profi entfernt und es kann durchaus sein, das mein folgender Code etwas chaotisch ist :).
So nun aber erst mal zu meiner Frage. Wir hatten in unserem Java Kurs die Aufgabe eine Art Adressbuch zu erstellen, Diese sollten wir dann in eine GUI um schreiben und nun geht es darum, diese Gui so zu erweitern, dass man die Bekannten Speichern und wieder Laden kann.
Hier erst mal der Komplette Code + mein Versuch des Speicherns /Ladens
Klasse Bekannter
Klasse Dialog
Klasse StringManagerGui
Klasse Bekanntenlist
In dieser Klasse befindet sich dann auch mein Versuch. Momentan wird jedoch nur der erste Bekannte den man gespeichert hat auch wieder aus der Textdatei ausgelesen. Es werden zwar alle in die Textdatei geschrieben, ich habe aber keine Ahnung, wie ich diese richtig auslese, damit man wieder im Adressbuch blättern kann und alle bekannten angezeigt bekommt. Hoffentlich kann mir jemand helfen :)
nach langer Überlegung, habe ich mich doch entschieden hier einen Eintrag zu verfassen, da ich an dieser Stelle einfach null weiter komme. Ich bin Java Anfänger und habe leider schon in vielen Foren mitbekommen, dass Anfänger runter gemacht wurden, wenn sie Fragen gestellt haben, weil ihr Code an anderen Stellen Fehlerhaft war. Ich bitte euch also etwas nachsichtig zu sein, ihr könnt mich gerne auf Fehler hinweisen aber ich Frage hier ja nicht umsonst. Ich bin weit von einem Profi entfernt und es kann durchaus sein, das mein folgender Code etwas chaotisch ist :).
So nun aber erst mal zu meiner Frage. Wir hatten in unserem Java Kurs die Aufgabe eine Art Adressbuch zu erstellen, Diese sollten wir dann in eine GUI um schreiben und nun geht es darum, diese Gui so zu erweitern, dass man die Bekannten Speichern und wieder Laden kann.
Hier erst mal der Komplette Code + mein Versuch des Speicherns /Ladens
Klasse Bekannter
Java Code:
-
-
-
-
-
private boolean isFreund;
-
-
-
return geburtstag;
-
}
-
-
-
this.geburtstag = geburtstag;
-
}
-
-
-
public boolean isFreund() {
-
return isFreund;
-
}
-
-
-
public void setFreund(boolean isFreund) {
-
this.isFreund = isFreund;
-
}
-
-
private boolean isVerwandt;
-
-
return verwandtschaftsart;
-
}
-
-
-
this.verwandtschaftsart = verwandtschaftsart;
-
}
-
-
public boolean isVerwandt() {
-
return isVerwandt;
-
}
-
-
public void setVerwandt(boolean isVerwandt) {
-
this.isVerwandt = isVerwandt;
-
}
-
-
-
return name;
-
}
-
-
-
boolean isFreund, boolean isVerwandt) {
-
super();
-
this.name = name;
-
this.adresse = adresse;
-
this.telefonnummer = telefonnummer;
-
this.handynummer = handynummer;
-
this.emailadresse = emailadresse;
-
this.notizen = notizen;
-
this.isFreund = isFreund;
-
this.isVerwandt = isVerwandt;
-
}
-
-
public Bekannter() {
-
-
}
-
-
-
this.name = name;
-
}
-
-
-
return adresse;
-
}
-
-
-
this.adresse = adresse;
-
}
-
-
-
-
-
return telefonnummer;
-
}
-
-
-
this.telefonnummer = telefonnummer;
-
}
-
-
-
return handynummer;
-
}
-
-
-
this.handynummer = handynummer;
-
}
-
-
-
return emailadresse;
-
}
-
-
-
this.emailadresse = emailadresse;
-
}
-
-
-
return notizen;
-
}
-
-
-
this.notizen = notizen;
-
}
-
-
-
-
return Art;
-
}
-
-
-
this.Art = art;
-
}
-
-
-
String typ;
-
if (isFreund) {
-
typ = "Freund";
-
this.Art = "Freund";
-
}else if (isVerwandt) {
-
typ = "Verwandter";
-
this.Art = "Verwandter";
-
} else {
-
typ = "Bekannter";
-
this.Art = "Bekannter";
-
}
-
ausgabe += "Name: " + name + "\n";
-
ausgabe += "Adresse: " + adresse + "\n";
-
ausgabe += "Telefonnummer: " + telefonnummer + "\n";
-
ausgabe += "Handynummer: " + handynummer + "\n";
-
ausgabe += "E-Mail: : " + emailadresse + "\n";
-
ausgabe += "Notizen: " + notizen + "\n";
-
if (isFreund) {
-
ausgabe += "Geburtstag: " + geburtstag;
-
}
-
if (isVerwandt) {
-
ausgabe += "Verwandtschaftsart: " + verwandtschaftsart;
-
}
-
return ausgabe;
-
}
-
-
-
}
Klasse Dialog
Java Code:
-
import java.awt.Container;import java.awt.event.ActionEvent;
-
import java.awt.event.ActionListener;
-
import java.awt.event.KeyEvent;
-
import java.awt.event.KeyListener;
-
-
-
import javax.swing.JButton;
-
import javax.swing.JComboBox;
-
import javax.swing.JDialog;
-
import javax.swing.JLabel;
-
import javax.swing.JTextArea;
-
import javax.swing.JTextField;
-
-
-
-
-
StringManagerGui ref;
-
-
-
super(ref, "Neuen Bekannten", true); // Modal oder Nicht-Modal
-
this.ref = ref;
-
setLayout(null);
-
cp.add(lblName);
-
lblName.setBounds(10, 10, 300, 30);
-
cp.add(lblAdresse);
-
lblAdresse.setBounds(10, 40, 300, 30);
-
cp.add(lblTelefonnummer);
-
lblTelefonnummer.setBounds(10, 110, 300, 30);
-
cp.add(lblHandynummer);
-
lblHandynummer.setBounds(10, 140, 300, 30);
-
cp.add(lblEmailadresse);
-
lblEmailadresse.setBounds(10, 170, 300, 30);
-
cp.add(lblNotizen);
-
lblNotizen.setBounds(10, 200, 300, 30);
-
cp.add(lblGeburtstag);
-
lblGeburtstag.setBounds(10, 270, 300, 30);
-
cp.add(lblVerwandtschaftsart);
-
lblVerwandtschaftsart.setBounds(10, 300, 300, 30);
-
cp.add(txtName);
-
txtName.setBounds(140, 10, 300, 30);
-
txtName.addKeyListener(this);
-
cp.add(txtAdresse);
-
txtAdresse.setBounds(140, 40, 300, 70);
-
cp.add(txtTelefonnummer);
-
txtTelefonnummer.setBounds(140, 110, 300, 30);
-
cp.add(txtHandynummer);
-
txtHandynummer.setBounds(140, 140, 300, 30);
-
cp.add(txtEmailadresse);
-
txtEmailadresse.setBounds(140, 170, 300, 30);
-
cp.add(txtNotizen);
-
txtNotizen.setBounds(140, 200, 300, 70);
-
cp.add(txtGeburtstag);
-
txtGeburtstag.setBounds(140, 270, 300, 30);
-
txtGeburtstag.setEnabled(false);
-
cp.add(txtVerwandtschaftsart);
-
txtVerwandtschaftsart.setBounds(140, 300, 300, 30);
-
txtVerwandtschaftsart.setEnabled(false);
-
final JComboBox<String> cmbTyp = new JComboBox<String>(typen);
-
cp.add(cmbTyp);
-
cmbTyp.setBounds(140, 340, 130, 30);
-
if (cmbTyp.getSelectedItem().equals("Bekannter")) {
-
txtGeburtstag.setEnabled(false);
-
txtVerwandtschaftsart.setEnabled(false);
-
} else if (cmbTyp.getSelectedItem().equals("Freund")){
-
txtGeburtstag.setEnabled(true);
-
}else{
-
txtVerwandtschaftsart.setEnabled(true);
-
txtGeburtstag.setEnabled(false);
-
}
-
}
-
});
-
ok.setBounds(280, 340, 130, 30);
-
boolean isFreund;
-
if (cmbTyp.getSelectedItem().equals("Freund")) {
-
isFreund = true;
-
} else {
-
isFreund = false;
-
}
-
-
boolean isVerwandt;
-
if (cmbTyp.getSelectedItem().equals("Verwandter")) {
-
isVerwandt = true;
-
} else {
-
isVerwandt = false;
-
}
-
Bekannter b = new Bekannter(txtName.getText(), txtAdresse
-
.getText(), txtTelefonnummer.getText(), txtHandynummer
-
.getText(), txtEmailadresse.getText(), txtNotizen
-
.getText(), isFreund, isVerwandt);
-
if (isFreund) {
-
b.setGeburtstag(txtGeburtstag.getText());
-
} else if (isVerwandt) {
-
b.setVerwandtschaftsart(txtVerwandtschaftsart.getText());
-
}
-
-
-
ref.newBekannten(b);
-
setVisible(false);
-
}
-
-
});
-
ok.setEnabled(txtName.getText().length()>0);
-
cp.add(ok);
-
setSize(500, 450);
-
setLocation(250, 320);
-
}
-
-
ok.setEnabled(txtName.getText().length()>0);
-
-
}
-
-
-
ok.setEnabled(txtName.getText().length()>0);
-
-
}
-
-
}
-
-
-
-
}
Klasse StringManagerGui
Java Code:
-
import java.awt.Container;import java.awt.FlowLayout;
-
-
-
import javax.swing.JButton;
-
import javax.swing.JFileChooser;
-
import javax.swing.JFrame;
-
import javax.swing.JPanel;
-
import javax.swing.JTextArea;
-
-
-
private StringManagerGui stm;
-
private Bekanntenlist sl;
-
-
public StringManagerGui() {
-
sl = new Bekanntenlist();
-
stm = this;
-
stringMonitor.setEditable(false);
-
contentPane.add(stringMonitor);
-
-
stringMonitor.setText(sl.previousBekannter().toString());
-
}
-
});
-
d.setVisible(true);
-
}
-
});
-
stringMonitor.setText(sl.nextBekannter().toString());
-
}
-
});
-
dateiWahl.showSaveDialog(frame);
-
sl.dateiSpeichern(dateiWahl.getSelectedFile());
-
}
-
});
-
-
dateiOeffnen.showOpenDialog(frame);
-
sl.dateiLaden(dateiOeffnen.getSelectedFile());
-
}
-
});
-
-
buttons.add(previous);
-
buttons.add(new_String);
-
buttons.add(next);
-
buttons.add(save);
-
buttons.add(load);
-
contentPane.add(buttons);
-
setSize(500, 500);
-
setVisible(true);
-
}
-
-
-
public void newBekannten(Bekannter bekannter) {
-
stringMonitor.setText(bekannter.toString());
-
sl.addBekannten(bekannter);
-
}
-
-
-
StringManagerGui smg = new StringManagerGui();
-
}
-
-
-
-
-
}
Klasse Bekanntenlist
In dieser Klasse befindet sich dann auch mein Versuch. Momentan wird jedoch nur der erste Bekannte den man gespeichert hat auch wieder aus der Textdatei ausgelesen. Es werden zwar alle in die Textdatei geschrieben, ich habe aber keine Ahnung, wie ich diese richtig auslese, damit man wieder im Adressbuch blättern kann und alle bekannten angezeigt bekommt. Hoffentlich kann mir jemand helfen :)
Java Code:
-
import java.io.*;import java.util.ArrayList;
-
import java.util.List;
-
import java.util.ListIterator;
-
-
-
private List<Bekannter> list;
-
private ListIterator<Bekannter> iterator;
-
-
-
public Bekanntenlist() {
-
list = new ArrayList<Bekannter>();
-
iterator = list.listIterator();
-
}
-
-
-
public void addBekannten(Bekannter bekannter) {
-
list.add(bekannter);
-
iterator = list.listIterator();
-
}
-
-
-
// liefert das vorherige Element aus der Liste
-
-
-
public Bekannter previousBekannter() {
-
if (iterator.hasPrevious())
-
return iterator.previous();
-
return list.get(0);
-
}
-
-
-
// Liefert das nächste Element aus der Liste
-
-
-
public Bekannter nextBekannter() {
-
if (iterator.hasNext())
-
return iterator.next();
-
return list.get(0);
-
}
-
-
-
public boolean isEmpty() {
-
if (list.isEmpty()) {
-
return true;
-
}
-
return false;
-
}
-
-
-
// Datei Speichern
-
-
-
try {
-
for (Bekannter bekannter : list) {
-
writer.write(bekannter.getArt() + "/");
-
writer.write(bekannter.getName() + "/");
-
writer.write(bekannter.getAdresse() + "/");
-
writer.write(bekannter.getEmailadresse() + "/");
-
writer.write(bekannter.getGeburtstag() + "/");
-
writer.write(bekannter.getHandynummer() + "/");
-
writer.write(bekannter.getNotizen() + "/");
-
writer.write(bekannter.getTelefonnummer() + "/");
-
writer.write(bekannter.getVerwandtschaftsart() + "/");
-
}
-
writer.close();
-
ex.printStackTrace();
-
}
-
}
-
-
-
// datei Laden
-
try {
-
while ((zeile = reader.readLine()) != null) {
-
test(zeile);
-
}
-
reader.close();
-
ex.printStackTrace();
-
}
-
}
-
-
-
// testfunktion, die aus den gelesenen zeilen einen Neuen Bekannten erstellt
-
Bekannter bekannter = new Bekannter();
-
bekannter.setArt(zeile[0]);
-
bekannter.setName(zeile[1]);
-
bekannter.setAdresse(zeile[2]);
-
bekannter.setEmailadresse(zeile[3]);
-
bekannter.setGeburtstag(zeile[4]);
-
bekannter.setHandynummer(zeile[5]);
-
bekannter.setNotizen(zeile[6]);
-
bekannter.setTelefonnummer(zeile[7]);
-
bekannter.setVerwandtschaftsart(zeile[8]);
-
list.add(bekannter);
-
iterator = list.listIterator();
-
}
-
}
Input/Output Bekanntenkreis Gui - Speichern und Laden der Bekannten
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire