Guten Tag, ich wollte ein Adressbuch in Java realisieren.
Es funktioniert alles bis auf die Option des Speicherns, es wird einfach keine Datei geschrieben!
Zudem weiß ich nicht wie ich die dann geschriebenen Einträge laden soll...
Mir fällt nichts mehr ein und ich weiß nicht wo mein Fehler ist.
Es fängt in Zeile 486 an mit dem Button Bspeichern
Hier der gesamte Quellcode:
Wäre sehr erfreut über jede hilfe zur Lösung meines Problems
Es funktioniert alles bis auf die Option des Speicherns, es wird einfach keine Datei geschrieben!
Zudem weiß ich nicht wie ich die dann geschriebenen Einträge laden soll...
Mir fällt nichts mehr ein und ich weiß nicht wo mein Fehler ist.
Es fängt in Zeile 486 an mit dem Button Bspeichern
Hier der gesamte Quellcode:
Code:
import java.awt.*;
import java.awt.event.*;
import java.math.*;
import java.lang.*;
import java.io.*;
class Adressbuch extends Frame
{
//variablen zuortnung für Adressbuch
int eintragnr;
String []name=new String[100];
String []vorname=new String[100];
int []tag=new int[100];
int []monat=new int[100];
int []jahr=new int[100];
String []ort=new String[100];
int []plz=new int[100];
String []strasse=new String[100];
String []hausnr=new String[100];
int []tel=new int[100];
//Variablen zum Aufbau der GUI
int abs=50;
int höhe=20;
int länge=150;
//Variablem zum Betrieb des Programmes
int i=1;
int []lauf=new int[100];
int end=0;
int eintragver;
int p;
//Button erzeugen
Button beingabe=new Button("Eintrag Hinzufügen");
Button bsuche=new Button ("Eintrag Suchen");
Button bausgabe=new Button("Einträge Ausgeben");
Button baktualisieren=new Button("Eintrag Aktualisieren");
Button blöschen=new Button("Eintrag Löschen");
Button bübernehmen =new Button("übernehmen ");
Button bspeichern =new Button("Speichern");
//Textfelder erzeugen
private TextField tfname;
private TextField tfvorname;
private TextField tftag;
private TextField tfmonat;
private TextField tfjahr;
private TextField tfort;
private TextField tfplz;
private TextField tfstrasse;
private TextField tfhausnr;
private TextField tftel;
private TextField tfeintragver;
//Textaria erzeugen
private TextArea taaus;
//---------------------------------------------------------------------------------------------------------
public static void main(String args[])
{
Adressbuch ab = new Adressbuch();
}
//----------------------------------------------------------------------------------------------------------
public Adressbuch()
{
//Frame erzeugen
super("Adressbuch ");
setLocation(100,100);
setSize(800,500);
setVisible(true);
setLayout(null);
//WindowClosing
addWindowListener(new WindowAdapter()
{
public void windowClosing (WindowEvent event)
{
System.exit(0);
}
});
//-------------------------------------------------------------------------------------------------------------
//Button
beingabe.addActionListener(new Beingabe());
beingabe.setBounds(abs,8*abs,länge,höhe);
add(beingabe);
bsuche.addActionListener(new Bsuche());
bsuche.setBounds(abs+2+länge,8*abs,länge,höhe);
add(bsuche);
bausgabe.addActionListener(new Bausgabe());
bausgabe.setBounds(2*abs+2*länge,8*abs,länge,höhe);
add(bausgabe);
baktualisieren.addActionListener(new Baktualisieren());
baktualisieren.setBounds(abs,8*abs+höhe,länge,höhe);
add(baktualisieren);
blöschen.addActionListener(new Blöschen());
blöschen.setBounds(abs,8*abs+2*höhe,länge,höhe);
add(blöschen);
bübernehmen .addActionListener(new Bübernehmen ());
bübernehmen .setBounds(2*abs+2*länge,8*abs+höhe,länge,höhe);
add(bübernehmen );
bspeichern.addActionListener(new Bspeichern());
bspeichern.setBounds(2*abs+2*länge,8*abs+2*höhe,länge,höhe);
add(bspeichern);
//-------------------------------------------------------------------------------------------
//Textfeld für Name
tfname = new TextField("");
tfname.setBounds(abs,abs,länge,höhe);
add(tfname);
//Textfelde für Vorname
tfvorname = new TextField("");
tfvorname.setBounds(abs,2*abs,länge,höhe);
add(tfvorname);
//Textfeld für Geburstag
tftag = new TextField("");
tftag.setBounds(abs,3*abs,länge/3,höhe);
add(tftag);
tfmonat = new TextField("");
tfmonat.setBounds(abs+länge/3,3*abs,länge/3,höhe);
add(tfmonat);
tfjahr = new TextField("");
tfjahr.setBounds(2*abs+2+länge/3,3*abs,länge/3,höhe);
add(tfjahr);
//Textfeld für Ort
tfort = new TextField("");
tfort.setBounds(abs,4*abs,länge,höhe);
add(tfort);
//Textfeld für PLZ
tfplz = new TextField("");
tfplz.setBounds(abs,5*abs,länge,höhe);
add(tfplz);
//Textfeld für Strasse
tfstrasse = new TextField("");
tfstrasse.setBounds(abs,6*abs,länge,höhe);
add(tfstrasse);
//Textfeld für die Hausnummer
tfhausnr = new TextField("");
tfhausnr.setBounds (abs+länge,6*abs,länge/3,höhe);
add(tfhausnr);
//Textfeld für Tel
tftel = new TextField("");
tftel.setBounds(abs,7*abs,länge,höhe);
add(tftel);
//Textfeld für Eintragsnr
tfeintragver = new TextField("");
tfeintragver.setBounds(2*abs+länge,7*abs,länge/3,höhe);
add(tfeintragver);
//Text für die Ausgabe
taaus = new TextArea("",100,8);
taaus.setBounds(2*abs+2*länge,abs,2*länge,6*abs+höhe);
add(taaus);
}
//-----------------------------------------------------------------------------------------------------
public void paint(Graphics g)
{
g.drawString("Name",abs,abs-2);
g.drawString("Vorname",abs,2*abs-2);
g.drawString("Geburstag(dd,mm,yyyy)",abs,3*abs-2);
g.drawString("Ort",abs,4*abs-2);
g.drawString("PLZ",abs,5*abs-2);
g.drawString("Strasse",abs,6*abs-2);
g.drawString("Nr.",abs+länge,6*abs-2);
g.drawString("Tel",abs,7*abs-2);
g.drawString("Ausgabe",2*abs+2*länge,abs-2);
}
//---------------------------------------------------------------------------------------------------
//Klasse damit beim Buttton Klick die Werte übernommen werden und ein
//Repaint durch geführt wird!
class Beingabe implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
name[i]=tfname.getText();
vorname[i]=tfvorname.getText();
tag[i]=Integer.valueOf(tftag.getText());
monat[i]=Integer.valueOf(tfmonat.getText());
jahr[i]=Integer.valueOf(tfjahr.getText());
ort[i]=tfort.getText();
plz[i]=Integer.valueOf(tfplz.getText());
strasse[i]=tfstrasse.getText();
hausnr[i]=tfhausnr.getText();
tel[i]=Integer.valueOf(tftel.getText());
eintragnr=i;
i=i+1;
tfname.setText("");
tfvorname.setText("");
tftag.setText("");
tfmonat.setText("");
tfjahr.setText("");
tfplz.setText("");
tfstrasse.setText("");
tfhausnr.setText("");
tfort.setText("");
tftel.setText("");
repaint();
}
}
//--------------------------------------------------------------------------------
class Bsuche implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
taaus.setText("");
for(int z=1;z<=eintragnr;z++)
{
if(!tfname.getText().equals(""))
{
if(name[z].equals(tfname.getText()))
{
taaus.setText(taaus.getText()+"---------------- \n Eintragsnr.\t"+p);
taaus.setText(taaus.getText()+"\n Name:\t\t"+name[z]+"");
taaus.setText(taaus.getText()+"\n Vorname: \t"+vorname[z]);
taaus.setText(taaus.getText()+"\n"+"Geb.: \t\t"+tag[z]+"."+monat[z]+"."+jahr[z]);
taaus.setText(taaus.getText()+"\n PLZ Ort: \t"+plz[z]+" "+ort[z]);
taaus.setText(taaus.getText()+"\n Strasse: \t"+strasse[z]+". "+hausnr[z]);
taaus.setText(taaus.getText()+"\n Tel.: \t\t"+tel[z]+"\n");
}
}
if(!tfvorname.getText().equals(""))
{
if(vorname[z].equals(tfvorname.getText()))
{
taaus.setText(taaus.getText()+"---------------- \n Eintragsnr.\t"+p);
taaus.setText(taaus.getText()+"\n Name:\t\t"+name[z]+"");
taaus.setText(taaus.getText()+"\n Vorname: \t"+vorname[z]);
taaus.setText(taaus.getText()+"\n"+"Geb.: \t\t"+tag[z]+"."+monat[z]+"."+jahr[z]);
taaus.setText(taaus.getText()+"\n PLZ Ort: \t"+plz[z]+" "+ort[z]);
taaus.setText(taaus.getText()+"\n Strasse: \t"+strasse[z]+". "+hausnr[z]);
taaus.setText(taaus.getText()+"\n Tel.: \t\t"+tel[z]+"\n");
}
}
if(!tftag.getText().equals(""))
{
if(Integer.valueOf(tag[z]).equals(tftag.getText()))
{
taaus.setText(taaus.getText()+"---------------- \n Eintragsnr.\t"+p);
taaus.setText(taaus.getText()+"\n Name:\t\t"+name[z]+"");
taaus.setText(taaus.getText()+"\n Vorname: \t"+vorname[z]);
taaus.setText(taaus.getText()+"\n"+"Geb.: \t\t"+tag[z]+"."+monat[z]+"."+jahr[z]);
taaus.setText(taaus.getText()+"\n PLZ Ort: \t"+plz[z]+" "+ort[z]);
taaus.setText(taaus.getText()+"\n Strasse: \t"+strasse[z]+". "+hausnr[z]);
taaus.setText(taaus.getText()+"\n Tel.: \t\t"+tel[z]+"\n");
}
}
if(!tfmonat.getText().equals(""))
{
if(Integer.valueOf(monat[z]).equals(tfmonat.getText()))
{
taaus.setText(taaus.getText()+"---------------- \n Eintragsnr.\t"+p);
taaus.setText(taaus.getText()+"\n Name:\t\t"+name[z]+"");
taaus.setText(taaus.getText()+"\n Vorname: \t"+vorname[z]);
taaus.setText(taaus.getText()+"\n"+"Geb.: \t\t"+tag[z]+"."+monat[z]+"."+jahr[z]);
taaus.setText(taaus.getText()+"\n PLZ Ort: \t"+plz[z]+" "+ort[z]);
taaus.setText(taaus.getText()+"\n Strasse: \t"+strasse[z]+". "+hausnr[z]);
taaus.setText(taaus.getText()+"\n Tel.: \t\t"+tel[z]+"\n");
}
}
if(!tfjahr.getText().equals(""))
{
if(Integer.valueOf(jahr[z]).equals(tfjahr.getText()))
{
taaus.setText(taaus.getText()+"---------------- \n Eintragsnr.\t"+p);
taaus.setText(taaus.getText()+"\n Name:\t\t"+name[z]+"");
taaus.setText(taaus.getText()+"\n Vorname: \t"+vorname[z]);
taaus.setText(taaus.getText()+"\n"+"Geb.: \t\t"+tag[z]+"."+monat[z]+"."+jahr[z]);
taaus.setText(taaus.getText()+"\n PLZ Ort: \t"+plz[z]+" "+ort[z]);
taaus.setText(taaus.getText()+"\n Strasse: \t"+strasse[z]+". "+hausnr[z]);
taaus.setText(taaus.getText()+"\n Tel.: \t\t"+tel[z]+"\n");
}
}
if(!tfplz.getText().equals(""))
{
if(Integer.valueOf(plz[z]).equals(tfplz.getText()))
{
taaus.setText(taaus.getText()+"---------------- \n Eintragsnr.\t"+p);
taaus.setText(taaus.getText()+"\n Name:\t\t"+name[z]+"");
taaus.setText(taaus.getText()+"\n Vorname: \t"+vorname[z]);
taaus.setText(taaus.getText()+"\n"+"Geb.: \t\t"+tag[z]+"."+monat[z]+"."+jahr[z]);
taaus.setText(taaus.getText()+"\n PLZ Ort: \t"+plz[z]+" "+ort[z]);
taaus.setText(taaus.getText()+"\n Strasse: \t"+strasse[z]+". "+hausnr[z]);
taaus.setText(taaus.getText()+"\n Tel.: \t\t"+tel[z]+"\n");
}
}
if(!tfort.getText().equals(""))
{
if(ort[z].equals(tfort.getText()))
{
taaus.setText(taaus.getText()+"---------------- \n Eintragsnr.\t"+p);
taaus.setText(taaus.getText()+"\n Name:\t\t"+name[z]+"");
taaus.setText(taaus.getText()+"\n Vorname: \t"+vorname[z]);
taaus.setText(taaus.getText()+"\n"+"Geb.: \t\t"+tag[z]+"."+monat[z]+"."+jahr[z]);
taaus.setText(taaus.getText()+"\n PLZ Ort: \t"+plz[z]+" "+ort[z]);
taaus.setText(taaus.getText()+"\n Strasse: \t"+strasse[z]+". "+hausnr[z]);
taaus.setText(taaus.getText()+"\n Tel.: \t\t"+tel[z]+"\n");
}
}
if(!tfstrasse.getText().equals(""))
{
if(strasse[z].equals(tfstrasse.getText()))
{
taaus.setText(taaus.getText()+"---------------- \n Eintragsnr.\t"+p);
taaus.setText(taaus.getText()+"\n Name:\t\t"+name[z]+"");
taaus.setText(taaus.getText()+"\n Vorname: \t"+vorname[z]);
taaus.setText(taaus.getText()+"\n"+"Geb.: \t\t"+tag[z]+"."+monat[z]+"."+jahr[z]);
taaus.setText(taaus.getText()+"\n PLZ Ort: \t"+plz[z]+" "+ort[z]);
taaus.setText(taaus.getText()+"\n Strasse: \t"+strasse[z]+". "+hausnr[z]);
taaus.setText(taaus.getText()+"\n Tel.: \t\t"+tel[z]+"\n");
}
}
if(!tfhausnr.getText().equals(""))
{
if(hausnr[z].equals(tfhausnr.getText()))
{
taaus.setText(taaus.getText()+"---------------- \n Eintragsnr.\t"+p);
taaus.setText(taaus.getText()+"\n Name:\t\t"+name[z]+"");
taaus.setText(taaus.getText()+"\n Vorname: \t"+vorname[z]);
taaus.setText(taaus.getText()+"\n"+"Geb.: \t\t"+tag[z]+"."+monat[z]+"."+jahr[z]);
taaus.setText(taaus.getText()+"\n PLZ Ort: \t"+plz[z]+" "+ort[z]);
taaus.setText(taaus.getText()+"\n Strasse: \t"+strasse[z]+". "+hausnr[z]);
taaus.setText(taaus.getText()+"\n Tel.: \t\t"+tel[z]+"\n");
}
}
if(!tftel.getText().equals(""))
{
if(Integer.valueOf(tel[z]).equals(tftel.getText()))
{
taaus.setText(taaus.getText()+"---------------- \n Eintragsnr.\t"+p);
taaus.setText(taaus.getText()+"\n Name:\t\t"+name[z]+"");
taaus.setText(taaus.getText()+"\n Vorname: \t"+vorname[z]);
taaus.setText(taaus.getText()+"\n"+"Geb.: \t\t"+tag[z]+"."+monat[z]+"."+jahr[z]);
taaus.setText(taaus.getText()+"\n PLZ Ort: \t"+plz[z]+" "+ort[z]);
taaus.setText(taaus.getText()+"\n Strasse: \t"+strasse[z]+". "+hausnr[z]);
taaus.setText(taaus.getText()+"\n Tel.: \t\t"+tel[z]+"\n");
}
}
if(taaus.getText().equals(""))
{
taaus.setText("Keinen passenden Eintrag gefunden");
}
}
}
}
//--------------------------------------------------------------------------------
class Bausgabe implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
taaus.setText("");
for(p=1;p<=eintragnr;p++)
{
taaus.setText(taaus.getText()+"---------------- \n Eintragsnr.\t"+p);
taaus.setText(taaus.getText()+"\n Name:\t\t"+name[p]+"");
taaus.setText(taaus.getText()+"\n Vorname: \t"+vorname[p]);
taaus.setText(taaus.getText()+"\n"+"Geb.: \t\t"+tag[p]+"."+monat[p]+"."+jahr[p]);
taaus.setText(taaus.getText()+"\n PLZ Ort: \t"+plz[p]+" "+ort[p]);
taaus.setText(taaus.getText()+"\n Strasse: \t"+strasse[p]+". "+hausnr[p]);
taaus.setText(taaus.getText()+"\n Tel.: \t\t"+tel[p]+"\n");
tfname.setText("");
tfvorname.setText("");
tftag.setText("");
tfmonat.setText("");
tfjahr.setText("");
tfplz.setText("");
tfstrasse.setText("");
tfort.setText("");
tftel.setText("");
repaint();
}
}
}
//--------------------------------------------------------------------------------------
class Baktualisieren implements ActionListener
{
public void actionPerformed(ActionEvent e)
{ int x;
x=Integer.valueOf(tfeintragver.getText());
tfname.setText(name[x]);
tfvorname.setText(vorname[x]);
tftag.setText(Integer.toString( tag[x]));
tfmonat.setText(Integer.toString(monat[x]));
tfjahr.setText(Integer.toString(jahr[x]));
tfplz.setText(Integer.toString(plz[x]));
tfstrasse.setText(strasse[x]);
tfhausnr.setText(hausnr[x]);
tfort.setText(ort[x]);
tftel.setText(Integer.toString(tel[x]));
repaint();
}
}
//---------------------------------------------------------------------------------------------
class Blöschen implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
//int x;
//x=Integer.valueOf(tfeintragver.getText());
for(int x=Integer.valueOf(tfeintragver.getText());x<=eintragnr;x++)
{
name[x]=name[x+1];
vorname[x]=vorname[x+1];
tag[x]=tag[x+1];
monat[x]=monat[x+1];
jahr[x]=jahr[x+1];
plz[x]=plz[x+1];
ort[x]=ort[x+1];
strasse[x]=strasse[x+1];
hausnr[x]=hausnr[x+1];
tel[x]=tel[x+1];
}
eintragnr=eintragnr-1;
}
}
//---------------------------------------------------------------------------------------
class Bübernehmen implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
int j;
j=Integer.valueOf(tfeintragver.getText());
name[j]=tfname.getText();
vorname[j]=tfvorname.getText();
tag[j]=Integer.valueOf(tftag.getText());
monat[j]=Integer.valueOf(tfmonat.getText());
jahr[j]=Integer.valueOf(tfjahr.getText());
ort[j]=tfort.getText();
plz[j]=Integer.valueOf(tfplz.getText());
strasse[j]=tfstrasse.getText();
hausnr[j]=tfhausnr.getText();
tel[j]=Integer.valueOf(tftel.getText());
eintragnr=j;
}
}
class Bspeichern implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
BufferedWriter bw;
try
{
bw = new BufferedWriter(new FileWriter(new File("test.doc")));
{
};
bw.close();
}
catch (ArrayIndexOutOfBoundsException aioobe){}
catch (IOException ioe){}
}
}
//-----------------------------------------------------------------------------------------
}
Wäre sehr erfreut über jede hilfe zur Lösung meines Problems