JDialog --> JCheckBox --> GUI

Stigma

Gesperrt
Moin Moin!

Mein JDialog ist für sämtliche Einstellungen zuständig. Dieser reagiert auf meine Actionen und verändert die GUI oder die Elemente wie gewünscht.

Beispiel:
Der Benutzer setzt die JCheckBox auf true --> im gleichen moment wird an der GUI etwas verändert. wird nun das Fenster geschlossen bleibt die GUI so wie eingestellt (soll ja auch). Nun öffne ich das Fenster erneut. Obwohl die GUI vorher verändert wurde und ich das Fenster mit einem selektierten JCheckBox geschlossen habe.

Solte ich nun die Einstellungen die ich getroffen habe in eine Datei abspeichern und jedesmahl beim öffnen des Fensters einlesen oder lieber den zustand der GUI abfragen und nach dessen zustand die JCheckBox... setzen?

Danke für eure Mühe.
 
Stichwort: Serialisierung.

Für solche Zwecke gibt es in Java die Klassen ObjectInputStream und ObjectOutputStream.
Mit diesen Klassen kannst du, wie es der Name schon sagt, Objekte in einen Datenstrom und wieder zurück verwandeln. Und diese Datenströme kann man mit FileOutputStream bzw. FileInputStream erzeugen bzw. speichern. (Nebst vielen anderen nützlichen Streams, die man noch dazwischen hängen kann)

Also: Beim Schließen deiner GUI übergibst du den JFrame (oder was auch immer du serialisieren willst) deinem ObjectOutputStream und schreibst damit die gesamte GUI in eine Datei (wenn du alles richtig gemacht hast, dann holt er sich dafür selbstständig alle Elemente deiner GUI).

Beim Starten überprüfst du einfach, ob die entsprechende Datei vorhanden ist und - wenn ja - liest die Datei ein und verwandelst sie mit ObjectInputStream in ein Objekt das du dann nach JFrame casten kannst.

Und siehe da, du kannst ein Fensterchen so öffnen, wie du es geschlossen hast - gleiche Größe, gleiche Position am Bildschirm usw.
 
Zurück