Klasse BacktrackIO
Diese Klasse wird aus Backtrack spezialisiert. Sie nutzt die gesamte Infrastruktur. Sie überschreibt
- speichernLabyrinth()
 - ladenLabryrinth()
 - main(String[] args): Sie müssen hier eine Instanz von BacktrackIO anlegen und anzeigen
 
Da man hier mit Verzeichnissen im Dateiverwaltungssystem arbeiten muss, sollte man die folgenden GUI Klassen verwenden:
Man kann Sie wie folgt einsetzen um den Zugriff auf eine Datei zu bekommen:
File selectedFile;
JFileChooser jfc
  = new JFileChooser(FileSystemView.getFileSystemView().getHomeDirectory());
int returnValue = jfc.showSaveDialog(null);
if (returnValue == JFileChooser.APPROVE_OPTION) {
   selectedFile = jfc.getSelectedFile();
   System.out.println(selectedFile.getAbsolutePath());
   // Ab hier mit der Datei arbeiten...
}
| Damit erhalten Sie, abhängig von Ihrer Plattform, einen Auswahldialog im Home-Verzeichniss Ihres Benutzers. | ![]()  | 
UML

Speicherstruktur
| Zum Speichern und Laden eines Labyrinths wird eine Kopie der Daten angelegt die zum visualieren angelegt werden. | ![]()  | 
Musterlösung
Github Projekt scalingbits/dhbwjava
- Klasse Position.java
 - Klasse Zelle.java
 - Klasse Labyrinth.java
 - Klasse Backtrack.java
 - Klasse BacktrackIO.java
 
![]()  | 
Hilfe! Wie packe ich das an? | 
- Erzeugen Sie eine spezialisierte Klasse BacktrackIO
 - Kopieren Sie sich das Hauptprogramm der Oberklasse
- Anpassung: Erzeugen Sie ein Objekt der aktuellen Klasse
 - Testen: Läuft alles wie zuvor?
 
 - Nutzen Sie die Serialisierung
- Die Klassen Labyrinth und Position müssen die entsprechende Schnittstelle implementieren
 
 - Überschreiben Sie die Methode zum Speichern
- Nutzen Sie Klasse JFileChooser zum Selektieren der Datei
 - Holen Sie sich von der Klasse JFileChooser das Ergebnis (Eine Instanz der Klasse File)
 - Spicken Sie doch einfach (Im ersten Semester wurde bei den Schnittstellen ein sehr ähnliches Beispiel diskutiert)
 - Schreiben Sie Labyrinth, Start und Ziel als Datei
- Verketten Sie FileOutputStream mit ObjectOutputStream
 - Schreiben Sie Ihre GUI Datenstruktur des Layrinths in die Datei
 
 - Behandeln Sie alle Ausnahmen wie benötigt...
 - Testen: Wurde die Datei geschrieben?
 
 - Vorbereiten zum Laden
- Schreiben Sie eine Methode die alle JButtons updated. Nach dem Laden müssen neue Zustände angezeigt werden
 
 - Überschreiben Sie die Methode zum Laden
- Nutzen Sie den JFileChooser zur Identifikation der Datei
 - Laden Sie die Datei. Sie haben nun einen Zeiger auf ein neues Labyrinth
 - Machen Sie Ihr Labyrinth editierbar
 - Nutzen Sie die Methode update() und Ihr GUI Labyrinth mit dem eingelesen Labyrinth zu überschreiben
 - Machen Sie ein Update auf allen Zellen
 - Testen
 
 
- Printer-friendly version
 - Log in to post comments
 - 1220 views
 


