Hallo,
ich habe ein Problem bei einer Aufgabe.
Ich muss für die Schule ein Programm schreiben, ich muss swing und Array verwenden.
Soweit das mir alles grafisch angezeigt wird bin ich schon gekommen, nur leider werden meine Eingaben danach nicht angezeigt.
In Zeile 277 wird mir auch noch ein Fehler angezeigt, doch weiß ich leider nicht wie ich diesen beheben kann, da ich ein totaler Anfänger bin was das Programmieren angeht
Ich hoffe ihr könnt mir helfen. Vielen Dank schon mal im voraus.
ich habe ein Problem bei einer Aufgabe.
Ich muss für die Schule ein Programm schreiben, ich muss swing und Array verwenden.
Soweit das mir alles grafisch angezeigt wird bin ich schon gekommen, nur leider werden meine Eingaben danach nicht angezeigt.
In Zeile 277 wird mir auch noch ein Fehler angezeigt, doch weiß ich leider nicht wie ich diesen beheben kann, da ich ein totaler Anfänger bin was das Programmieren angeht
Ich hoffe ihr könnt mir helfen. Vielen Dank schon mal im voraus.
Java:
import java.awt.Font;
import java.awt.event.*;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
public class MessdatenverwaltungSH extends JFrame
{
//-------Anfang Attribute der grafischen Oberfläche-------
JLabel lEingabe=new JLabel ("Eingabe");
JLabel lAnzeige=new JLabel ("Anzeige");
JLabel lÜberschrift=new JLabel("Verwaltung von Messdaten der Messart Druck");
JLabel lIdentnummer =new JLabel ("Identnummer");
JLabel lPrüfer =new JLabel ("Pruefer");
JLabel lMessart =new JLabel ("Messart");
JLabel lMesswert =new JLabel ("Messwert");
JLabel lEinheit =new JLabel ("Einheit");
JLabel lDatum =new JLabel ("Datum");
JTextField tfIdentnummer =new JTextField();
JTextField tfPrüfer =new JTextField();
JTextField tfMessart =new JTextField();
JTextField tfMesswert =new JTextField();
JTextField tfEinheit =new JTextField();
JTextField tfDatum =new JTextField();
JButton bEingabe =new JButton("Eingabe");
JButton bEinZurück =new JButton("Zurücksetzen");
JButton bAnzeige =new JButton("Anzeige");
JButton bAnzeigeZurück =new JButton("Zurücksetzen");
JList liAnzeige = new JList();
JMenuBar mbMenuLeiste =new JMenuBar();
JMenu mDatei =new JMenu("Datei");
JMenu mBearbeiten =new JMenu("Bearbeiten");
JMenu mInfo =new JMenu("?");
JMenuItem miLesen =new JMenuItem("Lesen");
JMenuItem miSpeichern =new JMenuItem("Speichern");
JMenuItem miImport =new JMenuItem("Import");
JMenuItem miExport =new JMenuItem("Export");
JMenuItem miBeenden =new JMenuItem("Beenden");
JMenuItem miEinfügen =new JMenuItem("Einfügen");
JMenuItem miLöschen =new JMenuItem("Löschen");
JMenuItem miInfo =new JMenuItem("Info");
//-------Ende Attribute der grafischen Oberfläche-------
//Speicherorganisation über Array
private ArrayList aMD=new ArrayList();
//-------Konstruktor, grafische Komponenten werden positionierz------
public MessdatenverwaltungSH (String s)
{
super(s);
initKomponenten();
}
private void initKomponenten() {
this.setSize(650, 500);
//Ereignisbehandlung
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Layoutmanager
this.setLayout(null);
//Überschriften
this.add(lEingabe);
lEingabe.setFont(new Font("Arial", Font.BOLD, 24));
lEingabe.setBounds(100, 100, 100, 40);
this.add(lAnzeige);
lAnzeige.setFont(new Font("Arial", Font.BOLD, 24));
lAnzeige.setBounds(400, 100, 100, 40);
this.add(lÜberschrift);
lÜberschrift.setFont(new Font("Arial", Font.BOLD + Font.ITALIC, 20));
lÜberschrift.setBounds(100, 50, 500, 40);
//Beschriftung
this.add(lIdentnummer);
lIdentnummer.setBounds(10, 150, 85, 20);
this.add(lPrüfer);
lPrüfer.setBounds(10, 190, 85, 20);
this.add(lMessart);
lMessart.setBounds(10, 230, 85, 20);
this.add(lMesswert);
lMesswert.setBounds(10, 270, 85, 20);
this.add(lEinheit);
lEinheit.setBounds(10, 310, 85, 20);
this.add(lDatum);
lDatum.setBounds(10, 350, 85, 20);
//Eingabefelder
this.add(tfIdentnummer);
tfIdentnummer.setBounds(100, 150, 140, 20);
this.add(tfPrüfer);
tfPrüfer.setBounds(100, 190, 140, 20);
this.add(tfMessart);
tfMessart.setBounds(100, 230, 140, 20);
this.add(tfMesswert);
tfMesswert.setBounds(100, 270, 140, 20);
this.add(tfEinheit);
tfEinheit.setBounds(100, 310, 140, 20);
this.add(tfDatum);
tfDatum.setBounds(100, 350, 140, 20);
//Anzeigefeld
this.add(liAnzeige);
liAnzeige.setBounds(310, 150, 280, 180);
//Schaltflächen
this.add(bEingabe);
bEingabe.setBounds(20, 400, 80, 20);
bEingabe.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
gebeEin();
}
}
);
this.add(bEinZurück);
bEinZurück.setBounds(130, 400,120, 20);
bEinZurück.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
zurückEin();
}
}
);
this.add(bAnzeige);
bAnzeige.setBounds(350, 400, 80, 20);
bAnzeige.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
gebeAus();
}
}
);
this.add(bAnzeigeZurück);
bAnzeigeZurück.setBounds(450, 400, 120, 20);
bAnzeigeZurück.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
zurückAus();
}
}
);
//Menüleiste mit Menü und Untermenü
this.setJMenuBar(mbMenuLeiste);
mDatei.add(miLesen);
mDatei.add(miSpeichern);
mDatei.addSeparator();
mDatei.add(miImport);
mDatei.add(miExport);
mDatei.addSeparator();
mDatei.add(miBeenden);
mbMenuLeiste.add(mDatei);
mBearbeiten.add(miEinfügen);
mBearbeiten.add(miLöschen);
mbMenuLeiste.add(mBearbeiten);
mInfo.add(miInfo);
mbMenuLeiste.add(mInfo);
miLesen.addActionListener(new ActionListener()
{public void actionPerformed(ActionEvent ae)
{
leseAusDatei();
}
}
);
miSpeichern.addActionListener(new ActionListener()
{public void actionPerformed(ActionEvent ae)
{
schreibeInDatei();
}
}
);
miImport.addActionListener(new ActionListener()
{public void actionPerformed(ActionEvent ae)
{
leseImportDatei();
}
}
);
miExport.addActionListener(new ActionListener()
{public void actionPerformed(ActionEvent ae)
{
schreibeExportDatei();
}
}
);
miBeenden.addActionListener(new ActionListener()
{public void actionPerformed(ActionEvent ae)
{
System.exit(0);
}
}
);
}
//---Konstruktorende---
//---Method main()---
public static void main (String[] args)
{
MessdatenverwaltungSH mv=new MessdatenverwaltungSH("Messdatenverwaltung");
mv.setVisible(true);
}
//---Ende Methode main()---
private void gebeEin()
{
int Identnummer=Integer.valueOf(tfIdentnummer.getText()).intValue();
String Prüfer=tfPrüfer.getText();
String Messart=tfMessart.getText();
float Messwert=Float.valueOf(tfMesswert.getText()).floatValue();
String Einheit=tfEinheit.getText();
int Datum=Integer.valueOf(tfDatum.getText()).intValue();
Messdaten md=new Messdaten(Identnummer, Prüfer, Messart, Messwert, Einheit, Datum);
aMD.add(md);
}
private void zurückEin()
{
tfIdentnummer.setText("");
tfPrüfer.setText("");
tfMessart.setText("");
tfMesswert.setText("");
tfEinheit.setText("");
tfDatum.setText("");
}
private void zurückAus()
{
liAnzeige.removeAll();
}
private void gebeAus()
{
this.zurückAus();
String s, s1,s2,s3,s4,s5,s6;
for(int k=0; k<aMD.size();k++)
{
s1=""+((Messdaten)aMD.get(k)).Identnummer;
s2=((Messdaten)aMD.get(k)).Prüfer;
s3=((Messdaten)aMD.get(k)).Messart;
s4=""+((Messdaten)aMD.get(k)).Messwert;
s5=((Messdaten)aMD.get(k)).Einheit;
s6=""+((Messdaten)aMD.get(k)).Datum;
s=s1+s2+s3+s4+s5+s6;
liAnzeige.setFont(new Font("Courier", Font.PLAIN, 10));
liAnzeige.add(s,k);
}
}
private void leseAusDatei()
{
try
{
ObjectInputStream ein=new ObjectInputStream(new FileInputStream("GruppeH.DAT"));
aMD=(ArrayList)ein.readObject();
}
catch(IOException ioe)
{
System.out.println(ioe.toString());
}
catch(ClassNotFoundException cnfe)
{
System.out.println(cnfe.toString());
}
}
private void schreibeInDatei()
{
try
{
ObjectOutputStream aus=new ObjectOutputStream(new FileOutputStream("GruppeH.DAT"));
aus.writeObject(aMD);
}
catch(IOException ioe)
{
System.out.println(ioe.toString());
}
}
private void leseImportDatei()
{
try
{
BufferedReader ein=new BufferedReader (new FileReader("GruppeH.DAT"));
int n=Integer.valueOf(ein.readLine()).intValue();
for (int i=0;i<n;i++)
{
int Identnummer=Integer.valueOf(ein.readLine()).intValue();
String Prüfer=(String)ein.readLine();
String Messart=(String)ein.readLine();
float Messwert=Float.valueOf(ein.readLine()).floatValue();
String Einheit=(String)ein.readLine();
int Datum=Integer.valueOf(ein.readLine()).intValue();
Messdaten MD=new Messdaten(Identnummer, Prüfer, Messart, Messwert, Einheit, Datum);
aMD.add(MD);
}
ein.close();
}
catch(IOException ioe)
{
System.out.println(ioe.toString());
}
}
private void schreibeExportDatei()
{
try
{
BufferedWriter aus=new BufferedWriter(new FileWriter("GruppeH.DAT"));
aus.write(""+aMD.size());
aus.newLine();
for (int i=0;i<aMD.size();i++)
{
aus.write(""+((Messdaten)aMD.get(i)).Identnummer);
aus.newLine();
aus.write(((Messdaten)aMD.get(i)).Prüfer);
aus.newLine();
aus.write(((Messdaten)aMD.get(i)).Messart);
aus.newLine();
aus.write(""+((Messdaten)aMD.get(i)).Messwert);
aus.newLine();
aus.write(((Messdaten)aMD.get(i)).Einheit);
aus.newLine();
aus.write(""+((Messdaten)aMD.get(i)).Datum);
}
aus.close();
}
catch(IOException ioe)
{
System.out.println(ioe.toString());
}
}
private void löscheAnStelle()
{
int stelle=liAnzeige.getSelectedIndex();
aMD.remove(stelle);
this.gebeAus();
}
private void fügeEin()
{
int stelle=liAnzeige.getSelectedIndex();
int Identnummer=Integer.valueOf(tfIdentnummer.getText()).intValue();
String Prüfer=tfPrüfer.getText();
String Messart=tfMessart.getText();
float Messwert=Float.valueOf(tfMesswert.getText()).floatValue();
String Einheit=tfEinheit.getText();
int Datum=Integer.valueOf(tfDatum.getText()).intValue();
Messdaten md=new Messdaten(Identnummer, Prüfer, Messart, Messwert, Einheit, Datum);
aMD.add(stelle, md);
this.gebeAus();
}
public void menueInfo()
{
InfoDialog id=new InfoDialog(this,"Info Anwendersystem");
id.show();
}
}