Hallo,
ich bin gerade dabei, ein altes Programm aufzuwärmen. Ziel ist es ein funtionierendes Tutorial zu schaffen, mit dem es möglich ist, Name und Telefonnummer in einer *.txt Datei zu speichern, auszulesen und zu erweitern.
Das Grundgerüst dafür habe ich noch aus alten Schulzeiten. Aber leider funtioniert das nicht so, wie ich es mir vorstelle.
Die .txt Datei wird zwar angelegt, aber sie wird nicht mit Daten gefüttert. Der Compiler läuft einwandfrei durch. Alle Errormelungen habe auch schon ausgebübelt.
Leider weiß ich jetzt nicht mehr weiter, und hoffe, dass mir jemand weiterhilft und sieht, wo da der Fehler liegt.
OK, Das Programm sieht so aus:
Start Klasse:
GUI Anwendung:
Datenverarbeitung:
Karteikarte:
Das Fenster:
/*Ciao
Nils*/
ich bin gerade dabei, ein altes Programm aufzuwärmen. Ziel ist es ein funtionierendes Tutorial zu schaffen, mit dem es möglich ist, Name und Telefonnummer in einer *.txt Datei zu speichern, auszulesen und zu erweitern.
Das Grundgerüst dafür habe ich noch aus alten Schulzeiten. Aber leider funtioniert das nicht so, wie ich es mir vorstelle.
Die .txt Datei wird zwar angelegt, aber sie wird nicht mit Daten gefüttert. Der Compiler läuft einwandfrei durch. Alle Errormelungen habe auch schon ausgebübelt.
Leider weiß ich jetzt nicht mehr weiter, und hoffe, dass mir jemand weiterhilft und sieht, wo da der Fehler liegt.
OK, Das Programm sieht so aus:
Start Klasse:
Code:
public class MainGUI
{
public static void main(String args[])
{
GUIAnwendung gui=new GUIAnwendung();
}
}
Code:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import com.sun.image.codec.jpeg.*;
import java.awt.image.*;
import java.text.*;
public class GUIAnwendung
{
Fenster f=new Fenster();
Freund meinFreund=new Freund();
Dateiverarbeitung da=new Dateiverarbeitung();
//Pausen pn=new Pausen();
//Diagramm dia=new Diagramm();
Vector daten=new Vector();
Label ueberschrift=new Label("Meine Telefonliste");
Label suche=new Label("Suche");
Label kommentar1=new Label("Dateiname");
Label kommentar2=new Label("Name");
TextField dateiName=new TextField();
TextField textZeile=new TextField();
TextField suchName=new TextField();
TextField suchTelNr=new TextField();
TextArea ausgabe=new TextArea();
Button lesen=new Button("Datei lesen");
Button bsuchen=new Button("TelNr suchen");
Button ziehen=new Button("Rumpelstielzchen!");
String dateinam=new String();
String text=new String();
public GUIAnwendung()
{
f.setBackground(Color.yellow);
f.setLayout(null);
dateiName.addActionListener(new Abhoerer1());
textZeile.addActionListener(new Abhoerer2());
lesen.addActionListener(new Abhoerer3());
bsuchen.addActionListener(new Abhoerer4());
ueberschrift.setFont(new Font("Serif",Font.BOLD,20));
ueberschrift.setForeground(Color.red);
ueberschrift.setAlignment(2);
ueberschrift.setBounds(10,30,200,20);
suche.setFont(new Font("Serif",Font.BOLD,20));
suche.setForeground(Color.red);
suche.setAlignment(2);
suche.setBounds(220,100,100,20);
dateiName.setBounds(10,70,100,20);
textZeile.setBounds(120,70,100,20);
suchName.setBounds(240,130,120,20);
suchTelNr.setBounds(240,190,120,20);
bsuchen.setBounds(240,160,120,20);
kommentar1.setBounds(10,50,100,20);
kommentar2.setBounds(120,50,100,20);
lesen.setBounds(240,50,100,20);
ausgabe.setBounds(10,100,210,200);
f.add(dateiName);
f.add(ueberschrift);
f.add(kommentar1);
f.add(kommentar2);
f.add(suche);
f.add(bsuchen);
f.add(suchName);
f.add(suchTelNr);
f.add(textZeile);
f.add(lesen);
f.add(ausgabe);
f.setSize(400,400);
f.show();
//f.setLocation(400,425);
}
class Abhoerer1 implements ActionListener{
public void actionPerformed(ActionEvent e)
{
da.dateiAnlegen(dateiName.getText());
}
}
class Abhoerer2 implements ActionListener{
public void actionPerformed(ActionEvent e)
{
String s=textZeile.getText();
if(s.equals("#"))da.dateiSchliessen();
else{
da.zeileAusgeben(s);
textZeile.setText("");
if(kommentar2.getText().equals("Name"))kommentar2.setText("Telefonnummer");
else kommentar2.setText("Name");
}
}
}
class Abhoerer3 implements ActionListener{
public void actionPerformed(ActionEvent e)
{
daten=da.lesen(dateiName.getText());
ausgabe.setText("Name Telefonnummer"+"/n");
ausgabe.appendText("/n");
for(int i=0;i<daten.size();i++){
meinFreund=(Freund)daten.elementAt(i);
ausgabe.appendText(meinFreund.name+" "+meinFreund.tel+"/n");
}
}
}
class Abhoerer4 implements ActionListener{
public void actionPerformed(ActionEvent e)
{
String sname=suchName.getText();
int nr=0;
boolean gefunden=false;
while(nr<daten.size()){
meinFreund=(Freund)daten.elementAt(nr);
if(sname.equals(meinFreund.name)){
gefunden=true;
suchTelNr.setText(""+meinFreund.tel);
break;
}
nr++;
}
if(!gefunden)suchTelNr.setText("nein!");
}
}
}
Code:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
public class Dateiverarbeitung {
BufferedWriter f1;
BufferedReader f2;
public Dateiverarbeitung(){}
public void dateiAnlegen(String n){
try{
f1=new BufferedWriter(new FileWriter(n));
}
catch (IOException e){
System.out.println("Fehler beim Erstellen der Datei");
}
}
public void zeileAusgeben(String t){
try{
f1.write(t);
f1.newLine();
}
catch (IOException e){
System.out.println("Fehler beim Erstellen der Datei");
}
}
public void dateiSchliessen(){
try{
f1.close();
}
catch (IOException e){
System.out.println("Fehler beim Erstellen der Datei");
}
}
public Vector lesen(String n){
String dat=new String();
String name=new String();
int tel=0,zaehler=1;
Vector v=new Vector();
try{
f2=new BufferedReader(new FileReader(n));
while((dat=f2.readLine())!=null){
if(zaehler%2==0){
tel=Integer.parseInt(dat);
Freund freund=new Freund(name,tel);
v.addElement(freund);
}
else name=dat;
zaehler++;
}
f2.close();
}
catch (IOException e){}
return v;
}
}
Code:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
public class Freund {
String name=new String();
int tel;
public Freund() {}
public Freund(String n,int t) {
name=n;
tel=t;
}
}
Code:
import java.awt.*;
import java.awt.event.*;
public class Fenster extends Frame
{
public Fenster()
{
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
dispose();
System.exit(0);}});
}
}
/*Ciao
Nils*/