Hallo miteinand.
Thema Schach. Folgender ActionListener hört auf meinen Menueintrag 'Stellung speichern' und soll nach dem Speichern-Dialog den Inhalt eines zweidimensionalen Arrays (bb_write) mit Objekten der Klasse Figur in einer Datei mit der Dateieindung .cm speichern:
Nach meinen Recherchen müsste das möglich sein, indem ich das Interface Serializable in meiner Klasse Figur implementiere. Hab isch gemacht und natürlich die Bib vorher importiert.
Ja, nun ist es allerdings so, dass der Speichervorgang zwar stattfindet und auch eine mit Kauderwelsch befüllte Datei entsteht, aber dennoch die Exception geworfen wird. Auch wenn ich die Datei wieder einlese, erhalte ich einen Fehler.
Es ändert übrigens auch nichts, wenn ich das zweidimensionale Array mit einer Doppelschleife auslese und dann die einzelnen Objekte in die Datei schreiben lasse.
Wo liegt mein Denk-/Codefehler?
Danke für die Hilfe
Christian
Thema Schach. Folgender ActionListener hört auf meinen Menueintrag 'Stellung speichern' und soll nach dem Speichern-Dialog den Inhalt eines zweidimensionalen Arrays (bb_write) mit Objekten der Klasse Figur in einer Datei mit der Dateieindung .cm speichern:
Code:
public void actionPerformed(ActionEvent e) {
Figur[][] bb_write = brett.getStellung();
JFileChooser chooser = new JFileChooser();
FileNameExtensionFilter cmFilter = new FileNameExtensionFilter("cm files (*.cm)", "cm");
chooser.addChoosableFileFilter(cmFilter);
chooser.setFileFilter(cmFilter);
int v = chooser.showSaveDialog(null);
if(v == JFileChooser.APPROVE_OPTION)
{
File file = chooser.getSelectedFile();
try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(file.getAbsolutePath() + ".cm"))) {
out.writeObject(bb_write);
System.out.println("Speichern erfolgreich");
System.out.println();
} catch (Exception ex) {
System.out.println("Speichern nicht erfolgreich");
System.out.println();
}
}
}
});
Nach meinen Recherchen müsste das möglich sein, indem ich das Interface Serializable in meiner Klasse Figur implementiere. Hab isch gemacht und natürlich die Bib vorher importiert.
Ja, nun ist es allerdings so, dass der Speichervorgang zwar stattfindet und auch eine mit Kauderwelsch befüllte Datei entsteht, aber dennoch die Exception geworfen wird. Auch wenn ich die Datei wieder einlese, erhalte ich einen Fehler.
Es ändert übrigens auch nichts, wenn ich das zweidimensionale Array mit einer Doppelschleife auslese und dann die einzelnen Objekte in die Datei schreiben lasse.
Wo liegt mein Denk-/Codefehler?
Danke für die Hilfe
Christian