Optionen übernehmen

Laren

Bekanntes Mitglied
Hi,

Ich schreibe gerade an einer Gui und dieses soll noch mit einem Reiter Einstellungen/Optionen ausgestattet werden.
Dies funktioniert auch alles, aber wie kann ich einen "übernehmen" Button programmieren, also ein Button der die gewählten Optionen auch nach schliesen des Programmes beibehält?
Dachte da zuerst daran alles in eine Textdatei auszulagern, aber weis nicht genau.

Viele Grüße
 

turtle

Top Contributor
Ich rate Dir mal java.util.prefs.Preferences anzuschauen, weil es genau dafür gemacht worden ist.

Was auch oft benutzt wird ist "Apache Commons Configuration" oder eine (embedded SQL-) Datenbank.

Natürlich kannst Du auch alle Daten in eine externe Datei schreiben, aber dann musst Du damit rechnen dass Dir ein DAU die Einträge kaputt schreibt.
 

Landei

Top Contributor
Zwei Lösungsmöglichkeiten:

Für wenige, einfache Settings bietet sich eine Properties-Datei an, die von der Properties-Klasse automatisch gelesen und geschrieben werden kann (als Text oder XML).

Für viele oder kompliziertere Werte gibt es die Klasse Preferences, die die Werte "systemtypisch" wegspeichert (z.B. unter Windows in die Registry). Vorteil ist, dass man im Gegensatz zu den "platten" Properties eine hierarchische, also baumartige Struktur hat. Man kann auch eigene Implementierungen einklinken (man könnte etwa so eine Datenbank als Speicherort verwenden).

[Edit] Bwah, zu langsam :-/
 

earlgrey_tea

Aktives Mitglied
Da du deine Einstellungen während der Programmlaufzeit in einem Objekt verwaltest, kannst du das natürlich auch serialisieren lassen.

Vorteile:
  1. Kann später einfach wieder geladen und in den Programmablauf eingebunden werden.
  2. Es können alle Datenstrukturen nachgebildet werden, die man benötigt.
  3. Man bleibt im OOP, muss also keine Objekte in Datenbanken pressen!

Nachteile:
  1. Die Objekte können nur genutzt werden, wenn man auch die entsprechenden Klassen dazu besitzt.
  2. Klassen und Objekte müssen serialisierbar sein
  3. Ansonsten ergibt sich die gleiche Problematik, wie bei PlainText, wenn man drin rumpfuscht ...
 

Landei

Top Contributor
Gegen Serialisierung spricht, dass schon kleine Änderungen zu Inkompatibilitäten führen, das gespeicherte Objekt also "unlesbar" wird. Für Anfänger definitiv zu tricky.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Kombinieren von Filter-Optionen für JTable AWT, Swing, JavaFX & SWT 4
B Gestaltung eines Optionen-Dialog AWT, Swing, JavaFX & SWT 16
B AWT Canvas überdeckt nach repaint() JComboBox-Optionen AWT, Swing, JavaFX & SWT 2
J Ansicht wechseln zw. Spielfeld und Optionen AWT, Swing, JavaFX & SWT 3
V System Look and Feel, FileChooser, Optionen einer jar-Datei AWT, Swing, JavaFX & SWT 10
T JDialog als Optionen Fenster verwenden AWT, Swing, JavaFX & SWT 6
G JavaFX Code in neues Projekt übernehmen AWT, Swing, JavaFX & SWT 0
B JavaFX TextField Eingabe in neues Fenster übernehmen AWT, Swing, JavaFX & SWT 4
L TextField Eingabe in andere GUI übernehmen AWT, Swing, JavaFX & SWT 1
emma_louisa JavaFX Werte beim Aufrufen des Fensters übernehmen (SceneBuilder) AWT, Swing, JavaFX & SWT 3
E Listener, werte in andere Klasse übernehmen AWT, Swing, JavaFX & SWT 11
P Swing Auswahl einer JComboBox für eine andere JComboBox übernehmen AWT, Swing, JavaFX & SWT 4
E Jtable Werte ohne Enter übernehmen AWT, Swing, JavaFX & SWT 9
R Swing JTable Einträge übernehmen AWT, Swing, JavaFX & SWT 4
A Werte in ein Textfeld übernehmen AWT, Swing, JavaFX & SWT 4
J Textfelder in Applet übernehmen größen angabe nicht! AWT, Swing, JavaFX & SWT 4
F JTable Daten übernehmen AWT, Swing, JavaFX & SWT 2
T extends JButton übernehmen Farben AWT, Swing, JavaFX & SWT 4
A JFrame-Einstellungen ändern und übernehmen AWT, Swing, JavaFX & SWT 12

Ähnliche Java Themen


Oben