C
Chaosthechamp
Gast
Hi,
ich habe ein Problem mit meinem Java Programm. Es soll ein Objekt einer Klasse erstellen und Auslesen können. Die Methode zum Erstellen funktioniert einwandfrei, und das Auslesen eigentlich auch, bis auf den GregorianCalendar.
Der Fehler taucht erst beim Ausführen auf, das Kompilieren geht einwandfrei. Immer wenn es zum Auslesen des GregorianCalendar-Wertes kommt, tritt eine NullPointerException auf.
Entweder liegt der Fehler in den Zeilen 146-148, 161-163, 182 oder 196 , ich finde ihn aber irgendwie nicht...
Kann mir pls irgendwer helfen? Ich muss das Programm bis übermorgen für die Schule fertig haben...
Hier noch der Programmausschnitt:
[JAVA=129]
java.util.Calendar dhilfe = new GregorianCalendar();
DVD d1= new DVD();
Buch m1= new Buch();
public void itemStateChanged(ItemEvent e)
{
if (typ.getSelectedItem()=="DVD")
{
d1.lesen("neueDVD.dat");
id.setInt(d1.getId());
if (d1.getAusgeliehen()==true)
ausgeliehen.select("Ja");
if (d1.getAusgeliehen()==false)
ausgeliehen.select("Nein");
dhilfe = d1.getBis();
bistag.setInt(dhilfe.get(Calendar.DAY_OF_MONTH));
bismonat.setInt(dhilfe.get(Calendar.MONTH)+1);
bisjahr.setInt(dhilfe.get(Calendar.YEAR));
titel.setText(d1.getTitel());
macher.setText(d1.getInterpret());
f5.setVisible(false);
f6.setVisible(true);
}
if (typ.getSelectedItem()=="Buch")
{
m1.lesen("neuesBuch.dat");
id.setInt(m1.getId());
if (m1.getAusgeliehen()==true)
ausgeliehen.select("Ja");
if (m1.getAusgeliehen()==false)
ausgeliehen.select("Nein");
dhilfe = m1.getBis();
bistag.setInt(dhilfe.get(Calendar.DAY_OF_MONTH));
bismonat.setInt(dhilfe.get(Calendar.MONTH)+1);
bisjahr.setInt(dhilfe.get(Calendar.YEAR));
titel.setText(m1.getTitel());
macher.setText(m1.getAutor());
f5.setVisible(true);
f6.setVisible(false);
}
}
boolean ahilfe;
public void b1_ActionPerformed(ActionEvent evt) //Erzeugen des Objektes
{ if (typ.getSelectedItem()== "DVD")
{
d1.setId(id.getInt());
if (ausgeliehen.getSelectedItem() == "Ja")
ahilfe = true;
if (ausgeliehen.getSelectedItem() == "Nein")
ahilfe = false;
d1.setAusgeliehen(ahilfe);
d1.setBis(new GregorianCalendar(bisjahr.getInt(),bismonat.getInt()-1,bistag.getInt()));
d1.setTitel(titel.getText());
d1.setInterpret(macher.getText());
d1.schreiben("neueDVD.dat");
}
if (typ.getSelectedItem()== "Buch")
{
m1.setId(id.getInt());
if (ausgeliehen.getSelectedItem() == "Ja")
ahilfe = true;
if (ausgeliehen.getSelectedItem() == "Nein")
ahilfe = false;
m1.setAusgeliehen(ahilfe);
m1.setBis(new GregorianCalendar(bisjahr.getInt(),bismonat.getInt()-1,bistag.getInt()));
m1.setTitel(titel.getText());
m1.setAutor(macher.getText());
m1.schreiben("neuesBuch.dat");
}
}
[/code]
Danke für Antworten schonmal im Vorraus und hoffentlich kommen auch viele gute
ich habe ein Problem mit meinem Java Programm. Es soll ein Objekt einer Klasse erstellen und Auslesen können. Die Methode zum Erstellen funktioniert einwandfrei, und das Auslesen eigentlich auch, bis auf den GregorianCalendar.
Der Fehler taucht erst beim Ausführen auf, das Kompilieren geht einwandfrei. Immer wenn es zum Auslesen des GregorianCalendar-Wertes kommt, tritt eine NullPointerException auf.
Entweder liegt der Fehler in den Zeilen 146-148, 161-163, 182 oder 196 , ich finde ihn aber irgendwie nicht...
Kann mir pls irgendwer helfen? Ich muss das Programm bis übermorgen für die Schule fertig haben...
Hier noch der Programmausschnitt:
[JAVA=129]
java.util.Calendar dhilfe = new GregorianCalendar();
DVD d1= new DVD();
Buch m1= new Buch();
public void itemStateChanged(ItemEvent e)
{
if (typ.getSelectedItem()=="DVD")
{
d1.lesen("neueDVD.dat");
id.setInt(d1.getId());
if (d1.getAusgeliehen()==true)
ausgeliehen.select("Ja");
if (d1.getAusgeliehen()==false)
ausgeliehen.select("Nein");
dhilfe = d1.getBis();
bistag.setInt(dhilfe.get(Calendar.DAY_OF_MONTH));
bismonat.setInt(dhilfe.get(Calendar.MONTH)+1);
bisjahr.setInt(dhilfe.get(Calendar.YEAR));
titel.setText(d1.getTitel());
macher.setText(d1.getInterpret());
f5.setVisible(false);
f6.setVisible(true);
}
if (typ.getSelectedItem()=="Buch")
{
m1.lesen("neuesBuch.dat");
id.setInt(m1.getId());
if (m1.getAusgeliehen()==true)
ausgeliehen.select("Ja");
if (m1.getAusgeliehen()==false)
ausgeliehen.select("Nein");
dhilfe = m1.getBis();
bistag.setInt(dhilfe.get(Calendar.DAY_OF_MONTH));
bismonat.setInt(dhilfe.get(Calendar.MONTH)+1);
bisjahr.setInt(dhilfe.get(Calendar.YEAR));
titel.setText(m1.getTitel());
macher.setText(m1.getAutor());
f5.setVisible(true);
f6.setVisible(false);
}
}
boolean ahilfe;
public void b1_ActionPerformed(ActionEvent evt) //Erzeugen des Objektes
{ if (typ.getSelectedItem()== "DVD")
{
d1.setId(id.getInt());
if (ausgeliehen.getSelectedItem() == "Ja")
ahilfe = true;
if (ausgeliehen.getSelectedItem() == "Nein")
ahilfe = false;
d1.setAusgeliehen(ahilfe);
d1.setBis(new GregorianCalendar(bisjahr.getInt(),bismonat.getInt()-1,bistag.getInt()));
d1.setTitel(titel.getText());
d1.setInterpret(macher.getText());
d1.schreiben("neueDVD.dat");
}
if (typ.getSelectedItem()== "Buch")
{
m1.setId(id.getInt());
if (ausgeliehen.getSelectedItem() == "Ja")
ahilfe = true;
if (ausgeliehen.getSelectedItem() == "Nein")
ahilfe = false;
m1.setAusgeliehen(ahilfe);
m1.setBis(new GregorianCalendar(bisjahr.getInt(),bismonat.getInt()-1,bistag.getInt()));
m1.setTitel(titel.getText());
m1.setAutor(macher.getText());
m1.schreiben("neuesBuch.dat");
}
}
[/code]
Danke für Antworten schonmal im Vorraus und hoffentlich kommen auch viele gute