Heim > Java > javaLernprogramm > Wie speichere und lade ich den Status eines Swing-Programms neu?

Wie speichere und lade ich den Status eines Swing-Programms neu?

Patricia Arquette
Freigeben: 2024-11-15 06:00:04
Original
372 Leute haben es durchsucht

How to Save and Reload the State of a Swing Program?

Swing-Programmstatus speichern und neu laden

Um den Status Ihres Swing-Programms beizubehalten und abzurufen, stehen mehrere Ansätze zur Verfügung:

Eigenschaften-API:

Die Eigenschaften-API bietet einen Speichermechanismus für Schlüssel-Wert-Paare. Sie können Daten einfach speichern und laden. Es werden jedoch nur Zeichenfolgen unterstützt, sodass Werte, die keine Zeichenfolgen sind, eine manuelle Konvertierung erfordern.

Properties properties = new Properties();
properties.setProperty("cell_data", board.getCellDataAsString());
properties.store(new FileOutputStream("game.properties"), "Game Properties");
Nach dem Login kopieren

XML und JAXB:

JAXB ermöglicht Ihnen die Zuordnung von Objekteigenschaften zu XML und exportieren/importieren. Es ist zwar flexibler als Eigenschaften, bringt aber auch Komplexität mit sich.

JAXBContext context = JAXBContext.newInstance(Board.class);
Marshaller marshaller = context.createMarshaller();
marshaller.marshal(board, new FileOutputStream("game.xml"));
Nach dem Login kopieren

Preferences API:

Die Preferences API unterstützt das Speichern von String- und Grundwerten ohne Konvertierung. Inhalte werden automatisch geladen und gespeichert, der Speicherort unterliegt jedoch nicht Ihrer Kontrolle.

Preferences prefs = Preferences.userRoot().node("minesweeper");
prefs.put("cell_data", board.getCellDataAsString());
Nach dem Login kopieren

Datenbank:

Eingebettete Datenbanken wie H2 oder HSQLDB bieten grundlegenden Speicher. Sie können jedoch komplexer einzurichten und zu warten sein als andere Optionen, insbesondere bei kleinen Datenmengen.

try (Connection connection = DriverManager.getConnection("jdbc:h2:~/minesweeper")) {
  try (Statement statement = connection.createStatement()) {
    statement.execute("INSERT INTO cells (data) VALUES ('" + board.getCellDataAsString() + "')");
  }
}
Nach dem Login kopieren

Objektserialisierung:

Erwägen Sie die Verwendung von Objekten Serialisierung als letztes Mittel. Es ist nicht für die Langzeitlagerung konzipiert und birgt potenzielle Probleme.

try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("game.ser"))) {
  oos.writeObject(board);
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie speichere und lade ich den Status eines Swing-Programms neu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage